Переход от IIS6 к IIS7.5 - пользовательские обработчики - PullRequest
2 голосов
/ 12 апреля 2011

Я перемещаю сайт с IIS6 на одном сервере на IIS7.5 на другом.Этот сайт был написан не мной, и, насколько я могу судить, они используют собственные обработчики, чтобы обойти ограничения AJAX дня.Я скопировал код со старого сервера на новый (предварительно скомпилированный), и все работает, кроме «AJAX».В коде есть несколько обращений к файлам ashx.Эти вызовы возвращают файлы .js.На старом сервере это прекрасно работает.Не работает на новом сервере.В файле web.config я нашел следующие строки:

<httpHandlers>
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>

Почему-то это не работает в IIS7.5. Любые предложения приветствуются.

Спасибо!

1 Ответ

3 голосов
/ 12 апреля 2011

Я подозреваю, что это может быть связано с настройкой режима управляемого конвейера пула приложений. Вы можете легко это подтвердить, изменив Managed Pipeline Mode для пула приложений, на котором работает сайт, на Classic. Если это работает и вы хотите продолжить работу в интегрированном режиме, то вам нужно добавить раздел обработчиков в web.config. Это отличается от информации httpHandlers, которую вы указали выше.

Новый раздел обработчиков должен находиться в разделе system.webServer. Извините, я не знаю точную настройку для элемента, который вы отмечаете, но вам нужно включить preCondition = "integratedMode", если вы хотите работать в интегрированном режиме.

...