В чем разница между RouteCollection.Ignore(url, constraints)
и RouteCollection.IgnoreRoute(url, constraints)
?
Новые проекты MVC включают этот вызов IgnoreRoute
в методе Global.asax RegisterRoutes
, чтобы пропустить маршрутизацию запросов к местоположениям.axd, которые обрабатываются в другом месте в системе ASP.NET.
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Я хотел добавить в проект дополнительный игнорируемый маршрут и начал печатать новую строку. После routes.I
появляется Intellisense с .Ignore
и .IgnoreRoute
, оба звучат примерно одинаково.
Согласно документам MSDN, вы можете видеть, что один из них является методом экземпляра класса System.Web.Routing.RouteCollection
, а другой — методом расширения этого класса из System.Web.Mvc.RouteCollectionExtensions
.
RouteCollection.Ignore
:«Определяет шаблон URL-адреса, который не следует проверять на совпадения с маршрутами, если URL-адрес запроса соответствует указанным ограничениям»(Документы MSDN).RouteCollection.IgnoreRoute
:«Игнорирует указанный маршрут URL для заданного списка доступных маршрутов и списка ограничений»(Документы MSDN).Оба принимают шаблон URL-адреса маршрута и набор ограничений, ограничивающих применение маршрута к этому шаблону URL-адреса.