Asp.Net 4.0 新特性之 使用自定义OutputCache Provider |
发布时间:2013/10/18 已被4689人阅读 分享到: |
在Asp.Net 4.0 的web.config文件中添加了关于缓存的配置节,如下所示: 我们可以在Web.config中配置自定义的OutputCacheProvider,并将自定义Provider指定为默认的Provider。 1.自定义OutputCacheProvider需要实现System.Web.Cacheing. OutputCacheProvider抽象类,网上有很多例子都用文件缓存做例子。这个例子太俗了,我写了一个新的例子,在设置的缓存时间小于指定阀值时,缓存到HttpRuntime.Cache中,否则缓存到文件中,如下代码: 2.如何使用自定义的OutputCacheProvider
1)在配置文件中做配置,将自定义的实现作为默认输出缓存支持,请看文章开始的配置 <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="IamUserControl.ascx.cs" Inherits="OutputCacheTest.IamUserControl" %> <%@ OutputCache Duration="3000" ProviderName="AspNetInternalProvider" VaryByParam="None" %>
需要注意的是,只能在UserControl中指定Provider的名字,在Page的生明中是不允许的,在Page中默认情况会使用web.config中配置的defaultProvider,但是我们可以通过3)中介绍的方法给不同的页面使用不同的OutputCacheProvider实现。 3)在Global.asax文件中重写GetOutputCacheProviderName(HttpContext context)方法,根据context返回不同的实现名字,如下例子 public override string GetOutputCacheProviderName(HttpContext context) { if (context.Request.Path.StartsWith("/default.aspx",StringComparison.CurrentCultureIgnoreCase)) { return "AspNetInternalProvider"; } return base.GetOutputCacheProviderName(context); } |
上一篇:没有了 | 【关闭】 |
下一篇:朗晟网络公司新版官方网站正式上线 |