【发布时间】: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