Как мне использовать мои обработчики HTTP для выбранных путей и обработчик MVC для остальных? - PullRequest
5 голосов
/ 29 сентября 2011

У меня есть приложение MVC2. У меня также есть набор готовых обработчиков HTTP, которые происходят от System.Web.IHttpHandler. Как я могу использовать их вместе?

Я попробовал следующее в web.config:

<system.webServer>
    <!--other stuff-->
        <handlers>
            <add name="MyCustomHandler" verb="GET" path="MySpecificPath*" type="CustomHandling.CustomHttpHandlerBase, CustomHAndlingAssembly"/>
            <add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"/>
        </handlers>
</system.webServer>

пока управление никогда не достигнет моего обработчика, и обработчик MVC используется для всех запросов.

Как использовать мой обработчик для одного конкретного пути и обработчик MVC для всех других путей?

1 Ответ

2 голосов
/ 29 сентября 2011

Я считаю, что вам нужно игнорировать эти конкретные пути из коллекции маршрутов при запуске приложения. Например,

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

В противном случае UrlRoutingModule будет соответствовать маршруту, а затем для этого маршрута будет расположен обработчик http через IRouteHandler.

См. в этой статье для получения дополнительной информации о смешивании веб-форм ASP.NET с ASP.NET MVC.

...