我有几个usercontrols,我希望有不同的输出缓存超时。
我尝试过以下但未成功:
在codebehind中执行以下操作:
Response.Cache.SetExpires(DateTime.Now.AddDays(OutputCaching.QuickTimeout))
Response.Cache.SetCacheability(HttpCacheability.Public)
Response.Cache.SetValidUntilExpires(真);
Response.Cache.VaryByParams.IgnoreParams = true;
显然只有<%@ OutputCache Duration="6000" VaryByParam="" %>
有效,但是没有办法从配置文件或appsettings文件中获取持续时间?
答案 0 :(得分:0)
从技术上讲,它可能基于this article的备注,但认为
HttpCacheability.Server = @ OutputCache
而不是
HttpCacheability.Public
以下是HttpCacheability的文档,这将帮助您为您选择正确的选择。
此外,我认为最好将代码放在Page_Init或Page_PreInit中,如下所示:
Private Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init
Me.Response.Cache.SetCacheability(HttpCacheability.Server)
Me.Response.Cache.SetExpires(Date.Now.AddMinutes(10))
Me.Response.Cache.SetValidUntilExpires(True)
Me.Response.Cache.VaryByParams.IgnoreParams = True
End Sub
此致