說我想刪除具有特定文件擴展名的文件的任何映射路由。ASP.NET路由 - 忽略具有特定擴展名的文件的路由,無論目錄如何
RouteTable.Routes.Ignore("{root}.hello");
工程爲在根目錄下的擴展.hello
的任何文件,但是當我進入所有子文件夾不應用「忽略」的規則。
我試了很多不同的組合,但似乎無法得到一個不拋出編譯器異常,或不工作?
說我想刪除具有特定文件擴展名的文件的任何映射路由。ASP.NET路由 - 忽略具有特定擴展名的文件的路由,無論目錄如何
RouteTable.Routes.Ignore("{root}.hello");
工程爲在根目錄下的擴展.hello
的任何文件,但是當我進入所有子文件夾不應用「忽略」的規則。
我試了很多不同的組合,但似乎無法得到一個不拋出編譯器異常,或不工作?
關於此查看Phil's blog。基本上,你會做這樣的事情:
例1:不執行路由爲所有.aspx文件的任何請求:
routes.IgnoreRoute("{*allaspx}", new {[email protected]".*\.aspx(/.*)?"});
例2:不要進行路由爲favicon.ico的任何要求
routes.IgnoreRoute("{*favicon}", new {[email protected]"(.*/)?favicon.ico(/.*)?"});
如果您使用ASP.NET MVC,使用IgnoreRoutes(MVC擴展方法)
Routes.IgnoreRoute("{*foo*}", new { foo = @"someregextoignorewhatyouwant"});
如果您使用ASP.NET Web窗體,請使用實現IRouteHandler的StopRoutingHandler。
routes.Add(new Route("*someregextoignorewhatyouwant*", new StopRoutingHandler()));