Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > HttpModule не работает на сервере


Автор: Pankon 22.7.2009, 16:05
Сделал HttpModule (от IHttpModule).

При запуске в Visual Studio все работает(Страницы и HttpModule ).

Перенес на сервер (Win 2008, IIS7) - страницы работают, HttpModule не работает - вообще не вызывается.

Как решить проблему?

Автор: Любитель 22.7.2009, 16:08
А ASP .Net под IIS-ом работает через integrated pipeline или классический ISAPI?

Автор: Pankon 22.7.2009, 18:05
Цитата(Любитель @ 22.7.2009,  16:08)
А ASP .Net под IIS-ом работает через integrated pipeline или классический ISAPI?

Как это узнать?

Автор: vladsch 23.7.2009, 15:49
Для IIS7 модули и хендлеры надо прописывать в секции "<system.webServer>" файла web.config. А по дефолту пишется в "<system.web>"
Код

<!--The system.webServer section is required for running ASP.NET AJAX under Internet
        Information Services 7.0.  It is not necessary for previous version of IIS.-->
  
  <!--<system.webServer>
    <httpProtocol allowKeepAlive="true" />
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
      <remove name="ScriptModule"/>
      <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </modules>
    <handlers>
      <remove name="WebServiceHandlerFactory-Integrated"/>
      <remove name="ScriptHandlerFactory"/>
      <remove name="ScriptHandlerFactoryAppServices"/>
      <remove name="ScriptResource"/>
      <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </handlers>
  </system.webServer>-->


Автор: Pankon 28.7.2009, 11:52
По совету vladsch, добавил в 
Код

  <system.webServer>
    <modules>
<add name= ...
    </modules>
  <system.webServer>
 мой класс и все заработало на сервере(до этого у меня было в <httpModules>..).

vladsch, спасибо.  smile 
+1


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)