我有一个自定义的HTTP模块,用于从web.config加载的ASP.NET MVC3网站:
<system.web> <httpModules> <add name="MyModule" type="MySolution.Web.MyHttpModule, MySolution.Web" /> </httpModules> </system.web>
当我从VS Web服务器(在我的Init方法中的中断点)中运行站点时,模块正确加载,但是当我在IIS中托pipe它时,它似乎被忽略(断点被忽略,模块的function不存在来自网站)。 我已经在两个单独的IIS框中使用了类似的结果。
我究竟做错了什么? 是否有一个设置,我必须popup启用IIS从站点的web.config加载模块?
我问了这个问题后不久我问了这个问题 – IIS7使用不同的模式为web.config。 现在加载模块的正确位置是:
<system.webServer> <modules> <add name="MyModule" type="MySolution.Web.MyHttpModule, MySolution.Web" /> </modules> </system.webServer>
我有一个类似的问题。 我的解决scheme包括首先删除模块,然后重新将其添加到system.webServer命名空间。
<system.webServer> <modules> <remove name="MyModule"/> <add name="MyModule" type="MySolution.Web.MyHttpModule, MySolution.Web" /> </modules> </system.webServer>
这可能是因为我们部署到两个不同的IIS服务器。 一个在服务器2003(iis 6)和一个在服务器2008(iis7 +)上。 所以添加模块似乎阻止它加载在命名空间。 我在这里可能是错的