ASP.NET MVC3 HttpApplication不会触发BeginRequest,EndRequest,PostAcquireRequestState等事件。所以它工作正常但它不会触发事件!我试图通过aspnet_regiis重新安装asp.net - 但没有运气。我也尝试将事件放到Application_Start中相同的结果。
我通过Web Deploy发布了网站。
有趣的是 - 我已经为测试目的创建了新的MVC项目,部署它并且它可以工作 - HttpApplication事件工作得很好。
配置: WINDOWS 2008R2,IIS 7.5,ASP.NET MVC 3,安装了所有更新。
任何帮助将不胜感激。提前谢谢!
订阅HttpApplication事件的示例:
public MvcApplication()
{
EndRequest += MvcApplication_EndRequest;
PostAcquireRequestState += MvcApplication_PostAcquireRequestState;
PostAuthenticateRequest += MvcApplication_PostAuthenticateRequest;
}
答案 0 :(得分:2)
有一篇非常好的文章:http://forums.asp.net/p/1306960/2572147.aspx#2572147
它应该是一个比托管处理程序管理所有请求更好的解决方案。后者对于表现并不是很有趣。
答案 1 :(得分:0)
正如您从我的评论中看到的,我找到了一个解决方案,但它不是完整的解决方案,因为它应该与runAllManagedModulesForAllRequests="false"
一起使用,可能是因为我不想要,静态内容将涉及集成管道 - 它是性能成本效益!
所以我找到了真正的解决方案,感谢Kev:Prevent IIS from serving static files through ASP.NET pipeline