asp.net-mvc – ASP.NET MVC响应过滤器OutputCache属性
我不确定这是一个ASP.NET MVC特定的东西或一般的ASP.NET,但这是正在发生的事情.我有一个动作过滤器,通过使用响应过滤器删除空格:
public class StripWhitespaceAttribute : ActionFilterAttribute { public StripWhitespaceAttribute () { } public override void OnResultExecuted(ResultExecutedContext filterContext) { base.OnResultExecuted(filterContext); filterContext.HttpContext.Response.Filter = new WhitespaceFilter(filterContext.HttpContext.Response.Filter); } } 当与OutputCache属性一起使用时,我对Response.WriteSubstitution的“donut hole caching”调用不起作用.第一次和第二次页面加载传递给WriteSubstitution的回调被调用,之后在输出缓存到期之前不再调用它们.我注意到这不仅仅是这个特殊的过滤器,而是Response.Filter上使用的任何过滤器……我错过了什么? 我也忘了提到我在没有使用MVC动作过滤器属性的情况下通过附加到global.asax中的PostReleaseRequestState事件并在那里设置Response.Filter值来尝试这个…但是仍然没有运气. 解决方法
这个
KB article可以提供一些洞察这个问题的根本原因.当IIS6中的过滤器“中断”缓存时,它会在IIS 7中引发错误.这似乎是设计/测试时间的最佳改进.
UPDATE 这是MS Dev Support在此问题上的官方“答案”. 题: 回答: 到目前为止,微软还没有替代方案.“ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp-classic – 为ServerXMLHTTP请求设置超时
- .net – REST API:与身体的GET请求
- asp.net-mvc – 可以为多个部署转换MVC视图,例如web.config
- asp.net-mvc – 基于MVC角色的路由
- 也谈事件(Event)
- IIS7上的ASP.NET应用程序 – 在iisreset启动后非常慢
- 如果我应该开始使用asp.net mvc 4而不是asp.net MVC 3,我可
- asp.net-mvc – 适用于MVC 2 beta 2的MicrosoftMvcJQueryVa
- asp.net – 什么是Thread.CurrentPrincipal,它有什么作用?
- asp.net – Viewstate压缩问题