0

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

2 回答 2

2

有一篇很好的文章:http ://forums.asp.net/p/1306960/2572147.aspx#2572147

它应该是一个比启用托管处理程序管理所有请求更好的解决方案。后者对于性能来说不是很有趣。

于 2012-06-02T19:05:20.520 回答
0

正如您从我的评论中看到的那样,我找到了一个解决方案,但它不是完整的解决方案,因为它应该可以使用runAllManagedModulesForAllRequests="false",可能是因为我不希望静态内容将参与集成管道 - 它的性能成本效益!因此,感谢 Kev,我找到了真正的解决方案:防止 IIS 通过 ASP.NET 管道提供静态文件

于 2012-06-04T16:55:29.930 回答