ASP.NET MVC3 HttpApplication不会触发BeginRequest,EndRequest,PostAcquireRequestState等事件

时间:2012-06-02 07:39:40

标签: events iis-7.5 global-asax httpapplication

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;
 }

2 个答案:

答案 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