如果我希望应用程序忽略以单词"得分"开头的所有网址,那么在ASP.NET MVC应用程序中放入RouteConfig.RegisterRoutes方法的正确语法是什么?喜欢
http://myserver/score*.*
换句话说,任何以文字开头的网址"得分"我希望我的应用无视。
我试过了:
routes.IgnoreRoute("score*.*/{*pathInfo}");
我也尝试过这种语法的其他几种组合,但不能很好地理解它。
这是我目前在RouteConfig中所拥有的内容。它几乎是标准的东西。
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Order", action = "Add", id = UrlParameter.Optional }
);
}
}
答案 0 :(得分:4)
您应将得分*。*作为RegoreRoute中的regEx表达式:
routes.IgnoreRoute("{score}/{*pathInfo}", new { score = @"score*.*" });
有关更一般的答案,您可以使用此模式忽略所需的路线:
Routes.IgnoreRoute("{*foo*}", new { foo = @"someregextoignorewhatyouwant"});
因此,对于score.js和score.txt路线,您将添加过滤该路线的regEx。