【问题标题】:Need advice in implementing ASP.NET custom output cache在实现 ASP.NET 自定义输出缓存时需要建议
【发布时间】:2011-06-18 08:46:43
【问题描述】:

我的网站类似于博客,页面内容不会经常更改。所以我决定使用页面输出缓存。

但是当我为每个页面打开输出缓存并将缓存持续时间设置为 1 小时时,我的网站托管服务暂停了我的网站,因为它正在使用大量系统内存。之后我将持续时间重新设置为 2 分钟,但有时我会收到数据库连接超时错误。

为了更好的性能,无论如何我需要缓存,而不是缓存在内存中。所以我提出了以下想法。请建议这是最好的方法还是有比这更好的解决方案?

我想编写 HTTP 模块来拦截所有请求。如果特定请求的缓存版本不存在,则将页面响应(使用过滤器写入)作为文件写入磁盘,否则将此文件作为响应发送。

目标框架是 2.0

【问题讨论】:

  • 试试看the Microsoft Enterprise Library。有一个缓存应用程序块可以解决您的问题。
  • @Koen,我希望这只是用于数据缓存,而不是用于输出缓存

标签: c# .net asp.net caching


【解决方案1】:

如果您使用的是 ASP.NET 4.0,则无需将其编写为 HttpModule - 输出缓存是基于提供程序的,您只需编写一个新的提供程序并将其插入即可。Gunnar Peipman 有一个很棒的关于编写基于文件的输出缓存提供程序的博客here

【讨论】:

    猜你喜欢
    • 2014-08-02
    • 2012-06-17
    • 2021-10-23
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    相关资源
    最近更新 更多