2011-12-28 3 views
0

Я пытаюсь установить HttpModule на всех сайтах на сервере. Он уже находится в GAC и работает на сайтах, если я индивидуально добавляю правильную конфигурацию в файл web.config каждого сайта. Когда я перемещаю конфигурацию в machine.config или глобальный web.config, модуль исчезает.Как зарегистрировать HttpModule в файле machine.config для IIS 7?

Прямо сейчас, у меня есть конфигурации в system.webserver/httpModules и system.web/httpModules секции в обе 32 бит и 64 бит machine.config и глобальная web.config - всего восемь мест, и ни один из них работают.

Я установил модули в machine.config на IIS6 раньше, и это легко. Есть ли уловка для их установки в IIS7?

ответ

2

По-видимому, machine.config не несет ответственности за определение раздела system.webServer. Фактически, он определяет секцию как

<section name="system.webServer" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 

Обратите внимание на тип: System.Configuration.IgnoreSection.

system.webServer участок определен в

%windir%\system32\inetsrv\config\applicationhost.config 

Непосредственно после секции system.webserver, есть

<location path="" overrideMode="Allow"> 
    <system.webServer> 

    <modules> 
     <!-- add the module here --> 
     <add name="MyModule" type="MyNamespace.MyModule, MyAssmebly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=abcdefhijklmnop"/> 

    </modules> 

    </system.webServer> 

</location> 
Смежные вопросы