Какая разница между 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.