Наш магазин интегрирует ASP.NET MVC в большое веб-приложение, которое использует пользовательские и сторонние обработчики HTTP, определенные в web.config в system.webServer \ handlers .Использование HTTP-обработчиков таким образом было для нас очень полезно, потому что нам не нужно перекомпилировать приложение или иметь фактическую страницу обработчика, расположенную на диске где-то в веб-области видимости для каждого экземпляра продукта.
Является ли этодействительно необходимо добавить явные игнорируемые маршруты в наш global.asax, чтобы среда выполнения могла соблюдать наши обработчики, определенные в web.config?Я бы подумал, что Web.Routing будет вызван после обработчики, определенные в system.webServer \ handlers, были проверены (не наоборот).
Мы используем модульную конструкцию, которая позволяетдобавление / удаление обработчиков из web.config при добавлении функций.С введением маршрутизации MVC кажется, что нам нужно добавить маршруты игнорирования в файле global.asax для каждого возможного обработчика, определенного в web.config.
Обратите внимание, что фактический файл для этих обработчиков не существует на диске -они являются виртуальными и встроены в сборку.Вот пример стороннего обработчика, который теперь требует явного Ignore Route в global.asax:
<system.webServer>
<handlers>
<!-- telerik radcontrols -->
<add name="TelerikDialogHandler" verb="*" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler, Telerik.Web.UI, Version=2009.1.402.20, Culture=neutral, PublicKeyToken=121fae78165ba3d4"></add>
</handlers>
</system.webServer>
Так что для записи, если вы используете System.Web.Routing, вы должны включить Ignore Routes для указанных обработчиков Httpв Web.Config?А может я что-то не так делаю?