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