views:

88

answers:

2

I would like to use substitution feature of donut caching.

public static string GetTime(HttpContext context)
{
    return DateTime.Now.ToString("T");
}

...

The cached time is: <%= DateTime.Now.ToString("T") %>
<hr />
The substitution time is:
<% Response.WriteSubstitution(GetTime); %>

...But I would like to pass additional parameter to callback function beside HttpContext.
so the question is:
How to pass additional argument to GetTime callback?
for instance, something like this:

public static string GetTime(HttpContext context, int newArgument)
{
    // i'd like to get sth from DB by newArgument
    // return data depending on the db values

    // ... this example is too simple for my usage
    if (newArgument == 1)
        return "";
    else
        return DateTime.Now.ToString("T");
}
+1  A: 

Well, you can store any argument you need in the Session. In method GetTime, these arguments can be accessed through the HttpContext.

Sander Pham
+1  A: 

Otherwise, if your problem is that you want to have different outputs based on different arguments because you're using the output substitution in different places on your website, I'm afraid the only way is to either define different functions or to only use the substitution methods as a stub for the actual method with arguments.

ErikHeemskerk