我在.NET 3.5,32位Win 2003,IIS 6中写了一个HttpModule
,效果很好。它的程序集位于GAC中,配置位于machine.config
中。多年来一切都很好。为什么我的machine.config HttpModule不能在我的web应用程序中运行?
我只是把它带到一个新的.NET 2-4,64位Win 2008 R2,IIS 7.5机器,并把旧的配置放在machine.config
。不幸的是,该模块没有列出在网站上运行的模块。当我将配置直接放入网站的web.config
时,它会按预期运行。 为什么我的应用程序不能从machine.config
继承HttpModule?
该配置在machine.config中不执行任何操作,但在web.config中按预期工作。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="MyModule" type="MyModule, MyAssmebly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=abcdefghijklmno" />
</modules>
</system.webServer>
我把配置在每一个可能的machine.config文件无济于事:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config
C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG
UPDATE
配置的其他元素继承到web.config:system.web\compilation
和system.serviceModel\bindings
以命名一对。该模块使用在machine.config
中配置的WCF。它似乎只是没有被继承的HttpModule
。不,任何地方都没有<clear/>
。
什么是应用程序池的网站是坐在模式? –
你试过把它放在全局'web.config'中,而不是'machine.config'吗? – Oded
你重新启动了服务器吗?通常它不是必需的,但是如果它是一个值得重试的测试服务器。 – Aliostad