Asp.net Outputcache不';我不喜欢走路线
我正在标准ASP.Net Web应用程序项目中使用System.Web.routing中的路由,而不使用MVC。这主要是为了在我们正在开发的门户中获得更整洁的url(而不是~/default.aspx?contentid=123,我们有~/{contentsubject})。门户未经授权,所有信息都在url中,因此在缓存场景中,我们可以缓存完整的页面 当我尝试启用输出缓存时,我注意到没有进行缓存。似乎outputcache页面指令被完全忽略。这是真的还是我遗漏了什么?这可以修复吗 我制作了一个小的测试应用程序(我上传到了),它只包含一个网页Webform1.aspx,它使用母版页和用户控件。三个都输出当前日期和时间 当我请求http//localhost/OutputcacheTest/Webform1.aspx时,10秒的缓存按预期工作,即显示的时间仅每10秒更新一次 该应用程序还定义了一个通配符路由,用于捕获所有请求并返回与处理程序相同的Webform1.aspx。因此,当请求http//localhost/OutputcacheTest/myroute时,会执行相同的页面,但现在缓存不起作用,即在每个请求上显示当前时间 注意:当使用内置的开发web服务器时,这两种方案都有效,只有IIS似乎存在此问题Asp.net Outputcache不';我不喜欢走路线,asp.net,routing,outputcache,Asp.net,Routing,Outputcache,我正在标准ASP.Net Web应用程序项目中使用System.Web.routing中的路由,而不使用MVC。这主要是为了在我们正在开发的门户中获得更整洁的url(而不是~/default.aspx?contentid=123,我们有~/{contentsubject})。门户未经授权,所有信息都在url中,因此在缓存场景中,我们可以缓存完整的页面 当我尝试启用输出缓存时,我注意到没有进行缓存。似乎outputcache页面指令被完全忽略。这是真的还是我遗漏了什么?这可以修复吗 我制作了一个小
在这种情况下,是否有人有解决方案或解决办法来启用输出缓存?现在,控制器操作需要[OutputCache]属性
使用MVC操作时,结果会被缓存(可以通过某些参数值进行更改)。我通过使模块和处理程序注册与本文中完全相同()来实现这一点 早些时候,我的注册是块中最后一个注册,现在我将它们移到了顶部。我还在该块中添加了属性runAllManagedModulesForAllRequests=“true”
现在outputcache页面指令开始工作了!感谢您的快速回答。问题是,因为我不使用MVC,只使用路由,所以我没有outputcache属性,因为它位于System.Web.MVC命名空间中。在这种情况下,我不确定正确的操作步骤是什么。也许可以查看MVC的源代码,看看它是如何完成的d如何找到解决方法。