Устройство перезаписи URL-адресов httpModules работает на Visual Studios Dev Server, но не на IIS 7.5 - PullRequest
0 голосов
/ 23 ноября 2011

В моем файле web.config у меня есть собственный класс перезаписи Url, который принимает строки запроса, такие как /movies/godzilla.aspx, и превращает его в /template.aspx?id=1234

Устройство перезаписи работает нормально, когда я запускаю его локально на встроенном веб-сервере в Visual Studios, но когда я помещаю его в IIS 7.5 и пытаюсь получить доступ к странице с понятным именем, я получаю сообщение о том, что соединение было сброшено и нужно сделать iisreset, чтобы сайт снова заработал. Страница отлично доступна с сервера, используя строку запроса URL.

Вот фрагмент моего web.config:

    <system.web>
        <httpModules>
            <add name="ApFriendlyURL" type="FriendlyURL" />
        </httpModules>
        ....
    </system.web>

Я не совсем понимаю, почему это работает при работе на Dev Server в Visual Studios, но не в IIS. Я поиграл с настройками в IIS, но я не могу найти ничего, что позволило бы мне использовать класс FriendlyURL в качестве переписчика

Ответы [ 2 ]

1 голос
/ 23 ноября 2011

Модули HTTP в IIS 7.5 должны быть настроены в разделе system.webServer/modules.Просто скопируйте определение вашего модуля туда.

http://msdn.microsoft.com/en-us/library/aa347531(VS.90).aspx

Обратите внимание на возможную проблему с конфигурацией дубликата модуля.Если это так, вы отключите конфигурацию интегрированного режима:

http://www.iis.net/ConfigReference/system.webServer/validation

0 голосов
/ 23 ноября 2011

Если вы работаете с приложением .NET 2.0, вам следует включить «Интегрированный режим» в настройках AppPool.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...