为什么我的httpModule BeginRequest不会触发?

时间:2011-09-04 02:27:54

标签: httpmodule

我在.NET 4.0 Web应用程序中使用httpModule来重写URL。在本地,这很好。但是把它移到主机上,它根本就没有开火。

我在网络配置中设置了以下内容......

<httpModules>
<add type="PageLoader" name="PageLoader"/>
</httpModules>

我还添加了这个尝试,但它没有用......

<modules runAllManagedModulesForAllRequests="true">
  <add type="PageLoader" name="PageLoader" preCondition="managedHandler" />
</modules>

1 个答案:

答案 0 :(得分:0)

类型应为

形式
"FullyQualifiedTypeName, Namespace ( or DLL Name)"

所以,如果您的模块是:YourApp.Web.Extensions.HttpModules.MyHttpModule

那么声明应该是:

<add name="MyHttpModule" type="YourApp.Web.Extensions.HttpModules.MyHttpModule, YourApp.Web" />

另请注意,对于IIS7,这需要进入Web.config中的system.webserver元素:

<system.webserver>
    <add name="MyHttpModule" type="YourApp.Web.Extensions.HttpModules.MyHttpModule, YourApp.Web" />
</system.webserver>