asp.net-mvc-4 – .NET 4.5中没有调用HttpModule

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-4 – .NET 4.5中没有调用HttpModule前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
只是花了很多时间筛选出关于这个问题的矛盾建议,并以为我会发布我的解决方案。

我的环境是.NET 4.5,Visual Studio 2012,在一个MVC 4应用程序上工作。我像过去那样创建了一个Http模块,并将其添加到Web.config中,如下所示:

<configuration>
 <system.web>
  <httpModules>
   <add name="MyModule" type="Services.MyModule,Services" />
  </httpModules>
 </system.web>
</configuration>

但是,应用程序从未调用该模块的Init()。最后,我发现建议应该将模块放在< system.webServer>之内,并且名为< modules>的元素而不是< httpModules>,如下所示:

<configuration>
 <system.webServer>
  <modules>
   <add name="MyModule" type="MyModule" type="Services.MyModule,Services" />
  </modules>
 </system.webServer>
</configuration>

重新运行应用程序,并按预期方式调用Init()。 FWIW,带方向的页面在这里:
http://msdn.microsoft.com/en-us/library/ms227673.aspx

HTH

解决方法

<&的System.Web GT;适用于IIS 6及更低版本(包括Cassini),< system.webServer>适用于IIS 7及以上版本。我通常放在一起 – 以防万一 – 然后将此节点添加到< system.webServer>所以它不会阻碍冗余:
<validation validateIntegratedModeConfiguration="false" />

猜你在找的asp.Net相关文章