【问题标题】:ASP.NET Output Cache not working on IIS7.5ASP.NET 输出缓存在 IIS7.5 上不起作用
【发布时间】:2011-10-27 06:10:42
【问题描述】:

我正在为我的 ASP.NET 3.5 网站上的页面使用输出缓存功能,它在我的本地计算机 (Win XP / IIS5.1) 上运行良好,但在开发服务器上运行时它不会缓存 ( IIS7.5)。

我正在使用的代码如下...

<%@ OutputCache Duration="3600" Location="Server" VaryByParam="*" %>

有谁知道如何让输出缓存在 IIS7.5 上工作?我已经通过 StackOverflow 和 Google 进行了搜索,但找不到任何遇到类似问题的人。

任何帮助将不胜感激。

干杯,

蒂姆。

【问题讨论】:

  • 您确定安装了缓存模块吗?根据您安装 IIS 的方式,并非所有模块都默认安装。如果是这样并且您需要安装它,我建议使用 Microsoft 的 Web Platform Installer。 microsoft.com/web/downloads/platform.aspx
  • 是的,缓存模块已安装(我可以在 IIS 管理器中看到它)。但是,我了解页面输出缓存是 ASP.NET 的一部分,而不是 IIS。我在我的应用程序的其他部分使用应用程序缓存(System.Web.UI.Page.Cache),这似乎运行正常。真的不知道为什么输出缓存不起作用!无论如何,谢谢。
  • 请发布相关的 web.config 设置、使用输出缓存的更多上下文、您使用什么来确定是否缓存、页面配置文件输出、.Net 版本差异 b/w 开发和生产环境等。
  • 我想我已经找到了输出缓存不起作用的原因。我正在 global.asax 的 Application_BeginRequest 函数中重写请求。如果我禁用重写输出缓存工作。
  • 我也刚刚将我的应用程序从集成模式切换到经典模式,现在即使使用 RewritePath 方法重写了 url,输出缓存也可以正常工作

标签: asp.net caching iis-7.5 webforms


【解决方案1】:

您是否正在重写 global.asax 中的 URL?正是因为如此。

您是否尝试过将集成模式切换到经典模式,因为集成模式会覆盖在 IIS 6.0 中有效而在 IIS 7.5 中无效的设置。

【讨论】:

    猜你喜欢
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 2017-06-14
    相关资源
    最近更新 更多