Страница не найдена при попытке доступа к HttpHandler с IIS 5.1 - PullRequest
0 голосов
/ 18 сентября 2009

Проблема заключается в следующем:

У меня есть HttpHander, который отлично работает в IIS 6.0 (он настроен через Web.Config)

   <add verb="*" path="MyHandlder" type="MyNamespace.MyHandler"/>

Но когда я пытаюсь получить к нему доступ через URL (http://localhost/MyHandlder?somevar=somevalue),, это выдает ошибку «Страница не найдена», даже если имена определенно верны (работает для IIS 6.0).

Спасибо за подсказки.

UPD: проблема только для случаев, когда путь без расширения. path = "MyHandler.myExt" работает нормально. Есть ли ЛЮБОЙ способ настроить IIS 5.1 для обработки обработчиков без расширения?

1 Ответ

1 голос
/ 18 сентября 2009

РЕДАКТИРОВАТЬ: Ниже строки мой оригинальный ответ. Я не заметил, что вы сказали, что это работает для вас на IIS 6 ... это не был мой опыт в прошлом!

Я бы проверил вашу конфигурацию IIS 6 и посмотрел, есть ли какие-либо специальные настройки перезаписи URL (или аналогичные).


В основном IIS пытается найти это, как если бы это был каталог, потому что у него нет расширения файла. Я считаю, что он рассматривает все без расширения файла как каталог и обрабатывает его сам - по крайней мере, по умолчанию.

Как говорится в комментариях annakata, вы можете добавить обработку "подстановочных знаков" через ASP.NET в IIS. Это не то, что я пробовал, и это звучит откровенно опасно (с точки зрения нежелательных последствий), но в блоге Криса Лава .

есть пошаговые инструкции .

Другим вариантом может быть что-то сделать с перезаписью URL (не в ASP.NET, а для самого IIS), но, если это вообще возможно, я бы предложил вам сопоставить ваш обработчик с путем, содержащим расширение файла. Если вы используете расширение файла, которое еще не обрабатывается ASP.NET, вам придется добавить его в список фильтров ISAPI.

Я знаю все это только потому, что пытался сделать что-то очень похожее для моего Wave Robot API. Вы можете посмотреть

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