HttpHandler не работает на сайте, используя другой порт - PullRequest
0 голосов
/ 25 августа 2009

Я написал крошечный HttpHandler, который прекрасно работает на моей машине. Однако, как только он был развернут на нашем промежуточном сервере, запрос на него дал 404. Я обычно предпочитаю настраивать HttpHandlers в web.config, но это явно не работает на сервере: я исправил это, создав файл .ashx, содержащий только ссылка на мой HttpHandler.

Файл .ashx:

<% @ WebHandler class="MyNamespace.MyProject.MyHttpHandler" %>

Настройка web.config:

<httpHandlers>
  <add verb="GET" path="myhandler.ashx" type="MyNamespace.MyProject.MyHttpHandler"/>
</httpHandlers>

Я предполагаю, что проблема вызвана тем, что сервер использует «специальный» порт (888, не спрашивайте почему) для веб-сайта. Это может быть что-то еще, чего я мог упустить?

Почему я вижу такое поведение на сервере? HttpHandler отлично работает на моей локальной машине с конфигурацией только в web.config, и здесь он также подается со «случайного» порта, то есть http://localhost:61229/myhandler.ashx.

Ответы [ 2 ]

3 голосов
/ 25 августа 2009

Похоже, настройки web.config не найдены.

Это IIS 7 случайно? В этом случае убедитесь, что вы помещаете обработчик в и его раздел .

0 голосов
/ 21 января 2011

Если вы используете IIS7, но по-прежнему хотите сохранить ваши старые файлы конфигурации IIS 6. Установив пул приложений для запуска в «классическом» режиме, обработчик снова заработает.

Не рекомендуется, но иногда это быстрое и достаточно хорошее исправление.

...