2010-08-15 3 views
3

Я пытаюсь запустить httphandler (ashx) на веб-сайте asp.net 4.HttpHandler в IIS7 и Visual Studio 2010

Когда я вызываю его из интегрированного сервера Visual Studio, он возвращает ошибку 404.

Он работает, если я вызываю его на сайте, настроенном в локальный IIS.

Кто-то может помочь?

ответ

2

Используете ли вы ASP.NET MVC или System.Web.Routing?

У вас есть что-то вроде

routes.IgnoreRoute("{resource}.ashx/{*pathInfo}"); 

в вашей RegisterRoutes() функции в вашем HttpApplication например?

Следует иметь в виду, что серверная среда Visual Studio выполняет все запросы через управляемый конвейер.

Подходит ли httpHandler к разделу system.web файла Web.config? (В IIS7 это относится к разделу system.webServer, но я не уверен, что там будут выглядеть новые версии Cassini.)

+0

Спасибо за ответ. Классический сайт asp.net, нет MVC, нет маршрутизации. В файле web.config я havve это: <проверка validateIntegratedModeConfiguration = "ложь" /> <добавить имя = "myAshx" путь = "myAshx.ashx" глагол = "GET" type = "myAshx" resourceType = "Unspecified" preCondition = "integratedMode" /> opaera

+0

Попробуйте добавить соответствующий httpHandler в старый раздел . Cassini предшествует IIS7, я сомневаюсь, что они обновили его, чтобы посмотреть в разделе IIS7 . Возможно, это было неправильно, но стоит того. –

+0

Это работает! Благодарю. Просто вопрос, когда я его развертываю, мне не нужен раздел в System.Web? – opaera