Azure и HttpHandlers - PullRequest
       6

Azure и HttpHandlers

0 голосов
/ 18 декабря 2011

У меня есть HttpHandler для приложения asp.net mvc.Я протестировал обработчик для приложений asv.net и asp.net mvc 3, и все работает как положено.

Когда я использую HttpHandler в приложении asp.net mvc 3 на основе Azure, метод ProcessRequest выглядит так:НЕ вызывается - я вижу, как создается HttpHandler.

У меня есть следующий web.config, и это работает для стандартного приложения asp.net mvc 3:

  <system.web>
    <httpHandlers>
      <add type="TestWebRole.Infrastructure.HttpHandlers.EPubHandler"
           path="*.epub"
           verb="*" />
    </httpHandlers>
  </system.web>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true" />
    <handlers>
      <add name="EPubHandler"
           type="TestWebRole.Infrastructure.HttpHandlers.EPubHandler"
           path="*.epub"
           verb="*"
           resourceType="Unspecified"
           allowPathInfo="false"
           modules="IsapiModule"
           scriptProcessor="%path%\aspnet_isapi.dll"/>
    </handlers>
  </system.webServer>

У меня также естьследующий оператор в файле global.asax.cs для указания игнорирования asp.net, маршрутизации mvc для типа расширения:

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

Что мне нужно настроить, чтобы это работало при работе в Azure - локальноили развернут в облако?

1 Ответ

2 голосов
/ 19 декабря 2011

Просто чтобы попытаться, почему бы вам не удалить раздел httpHandlers в system.web и оставить только тот, что в system.webServer.А также удалите все ненужные атрибуты из атрибута system.webServer (scriptProcessor, modules, allowPathInfo).

А также вы можете проверить наличие любых непереработанных исключений, записи в журнале событий или любых других ошибок1003 *

...