ASP.NET自定义输出缓存提供程序(4)

来源:未知 责任编辑:责任编辑 发表时间:2015-09-16 20:04 点击:

        /// <param name="utcExpiry">过期时间</param>

        public override void Set(string key, object entry,

DateTime utcExpiry)

        {

            string path =

String.Format("{0}{1}.binary", cachePath, key);

            FileStream fs = new FileStream(

path, FileMode.Create, FileAccess.Write);

            BinaryFormatter formatter = new BinaryFormatter();

            formatter.Serialize(fs, entry);

            fs.Close();

            cacheExpireList.TryAdd(key, utcExpiry.ToLocalTime());

        }

    }

}
     在MyOutputCacheProvider类中,我们重写了OutputCacheProvider类的Add、Get、Remove与Set方法,并将页输出缓存到“C:\\Cache\\”文件夹里。
     定义好MyOutputCacheProvider类之后,你可以通过使用OutputCache元素的新的providers节在Web.config文件中配置提供程序,如下面的示例所示:
<caching>

  <outputCache defaultProvider="AspNetInternalProvider">

    <providers>

      <add name="MyOutputCacheProvider"

type="_19_1.MyOutputCacheProvider,19-1"/>

    </providers>

  </outputCache>

</caching>
      默认情况下,在ASP.NET 4中所有的HTTP响应、生成的网页以及控件都使用内存输出缓存,其中defaultProvider属性被默认设置为AspNetInternalProvider。当然,你可以更改Web应用程序中所使用的默认的输出缓存提供程序,这是通过为defaultProvider指定一个不同的提供程序名称实现的。如下面的代码所示:
<caching>

  <outputCache defaultProvider="MyOutputCacheProvider">

    <providers>

      <add name="MyOutputCacheProvider"

type="_19_1.MyOutputCacheProvider,19-1"/>

    </providers>

  </outputCache>

</caching>
      此外,还可以针对每个控件和每个请求选择不同的输出缓存提供程序。为不同的Web用户控件选择不同的输出缓存提供程序的最简单的方法就是在用户控件的指令中以声明方式使用新的ProviderName属性。
     下面,我们将在MyOutputCacheProviderUserControl用户控件里定义该输出缓存提供程序,如下面的代码所示:
<%@ Control Language="C#" AutoEventWireup="true"
 CodeBehind="MyOutputCacheProviderUserControl.ascx.cs"

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • asp.net 设置GridView的选中行的实现代码
  • C#高级编程:数据库连接[1]
  • ASP.NET&#160;GridView列表代码示例
  • 经典C++程序1
  • 微软ASP.NET站点部署指南(2):部署SQL Server Compact数据库
  • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1