Маршрутизация ASP.NET - Игнорирует маршруты для файлов с определенным расширением, независимо от каталога

Скажите, что я хочу удалить любые отображенные маршруты для файлов с определенным расширением файла.

 RouteTable.Routes.Ignore("{root}.hello");

Работы для любого файла, который имеет расширение .hello в корневом каталоге однако как только я вхожу в любые подпапки, не применяется 'проигнорировать' правило.

Я попробовал много различных комбинаций, но, может казаться, не получаю ту, которая не выдает исключение компилятора или не работу?

12
задан DaveRandom 25 February 2013 в 23:23
поделиться

2 ответа

Прочтите об этом блог Фила . По сути, вы должны сделать что-то вроде этого:

Пример 1: Не выполнять маршрутизацию для любого запроса для всех файлов .aspx:

routes.IgnoreRoute("{*allaspx}", new {allaspx=@".*\.aspx(/.*)?"});

Пример 2: Не выполнять маршрутизацию для любого запроса для favicon.ico

routes.IgnoreRoute("{*favicon}", new {favicon=@"(.*/)?favicon.ico(/.*)?"});
15
ответ дан 2 December 2019 в 18:51
поделиться

Если вы используете ASP.NET MVC, используйте IgnoreRoutes (метод расширения MVC)

Routes.IgnoreRoute("{*foo*}", new { foo = @"someregextoignorewhatyouwant"});

Если вы используете веб-формы ASP.NET, используйте StopRoutingHandler , который реализует IRouteHandler .

routes.Add(new Route("*someregextoignorewhatyouwant*", new StopRoutingHandler()));
4
ответ дан 2 December 2019 в 18:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: