我正在关注此MSDN tutorial以实现自定义缓存机制。在Global.asax,我加了这一点:使用VaryByCustom实现输出缓存:自定义字符串在哪里去?
public override string GetVaryByCustomString(HttpContext context, string arg)
{
if (arg == "minorversion")
{
return "Version=" + context.Request.Browser.MinorVersion.ToString();
}
return base.GetVaryByCustomString(context, arg);
}
而在ASPX文件,我添加了这个:<%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="minorversion" %>
在页面的顶部。
我不明白的是如何使用Response.Cache.SetVaryByCustom("minorversion");
以及在何处设置字符串参数,该参数在运行时基于字符串设置缓存。例如,如果在代码隐藏文件的Page_Load
函数中设置了一个名为TheLanguage
的字符串变量,那么我如何以及在何处指定我希望缓存根据此字符串的值而变化?
谢谢。
好的,谢谢你的回答。我实际上意识到我可以通过改变URL来实现缓存,因此我甚至不需要改变自定义。无论如何,谢谢你,并接受以防止他人帮助他人。 – frenchie