ASP.NET自定义输出缓存提供程序(6)
}
}
运行MyOutputCacheProviderWebForm.aspx页面,结果如图19-5所示:
图19-5:示例运行结果
打开“C:\\Cache\\”文件夹,你就能够看见所生成的缓存文件,如图19-6与19-7所示:
图19-6:在本地磁盘生成的缓存文件
图19-7:缓存文件内容
这里需要注意的是,你只能在用户控件中指定@ OutputCache指令的ProviderName属性,但在ASPX页面是不允许你指定@ OutputCache指令的ProviderName属性的。因为在页面中,默认情况下会使用web.config中配置的defaultProvider。
虽然你不能够以声明的方式指定@ OutputCache指令的ProviderName属性,但你可以在Global.asax文件中通过重载GetOutputCacheProviderName(HttpContext context)方法以编程方式指定针对一个具体的请求使用哪一个提供程序。如下面的代码所示:
public override string GetOutputCacheProviderName(HttpContext context)
{
if (context.Request.Path.EndsWith("MyOutputCacheProviderWebForm.aspx"))
{
return "MyOutputCacheProvider";
}
else
{
return base.GetOutputCacheProviderName(context);
}
}
利用ASP.NET 4中增加的输出缓存提供程序扩展,你现在可以为你的Web站点采取更积极和更智能化的输出缓存策略。例如,你可以把一个网站中的用户访问量占“前十名”的那些网页缓存到内存中,而把那些较低访问量的网页缓存到磁盘上。
作者 马伟
相关新闻>>
- 发表评论
-
- 最新评论 更多>>