Модули http не работают с iis 7.5 для перезаписи URL-адреса / расширения без URL-адреса (ошибка 500.0) - PullRequest
4 голосов
/ 04 ноября 2011

Я использую перезапись URL с помощью IHttpModule. Приложение работает на локальном, но на сервере приложение выдает ошибку, если я написал путь без расширения (aspx).

У меня был зарегистрирован модуль перезаписи URL в веб-конфигурации, например

   <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
         <modules>
      <add name="URLRewriteModule" type="URLRewriteModule" preCondition="ManagedHandler" />
    </modules>
    <defaultDocument>
      <files>
        <add value="Login.aspx" />
      </files>
    </defaultDocument>
  </system.webServer>

А также есть обработчик ExtensionlessUrlHandler-Integrated-4.0, ExtensionlessUrlHandler-ISAPI-4.0_64bit, ExtensionlessUrlHandler-ISAPI-4.0_32bit. Тогда также я получаю следующую ошибку

Ошибка HTTP 500.0 - Внутренняя ошибка сервера

Модуль ManagedPipelineHandler

Уведомление ExecuteRequestHandler

Handler ExtensionlessUrlHandler-Integrated-4.0

Код ошибки 0x800703e9

1 Ответ

0 голосов
/ 08 августа 2012

Я думаю, что вы пропустили конфиг.

Ниже приведен пример, пользовательский модуль http должен быть настроен как в узле system.web, так и в узле system.webserver

  <system.web>
<compilation debug="true" targetFramework="4.0" />
<httpModules>
  <add name="CustomHttpModule" type="Routing_Static_Page_Demo.WebModule.CustomHttpModule, Routing_Static_Page_Demo" />
</httpModules>

<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
  <remove name="UrlRoutingModule"/>
  <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, 
                                    System.Web, 
                                    Version=4.0.0.0, 
                                    Culture=neutral, 
                                    PublicKeyToken=b03f5f7f11d50a3a" />
  <add name="CustomHttpModule" type="Routing_Static_Page_Demo.WebModule.CustomHttpModule" />
</modules>

...