我在.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