我通过继承MyCustomRoute
RouteBase
我是orerridden GetRoutData
,只要我使用像/XY
这样的网址,就会调用该方法。
但是,当我调用/XY.htm
或/XY.pdf
之类的网址时,系统不会调用此方法。我想某个地方我必须指示我的应用程序“#34;文件"需要由计票处理
这就是RegisterRoutes
public static void RegisterRoutes(RouteCollection routes)
{
routes.Add(new MyCustomRoute());
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
我需要做什么才能"文件"也可以通过我的路线处理?
答案 0 :(得分:0)
通常,默认情况下,路由系统会忽略对尚未映射到的文件扩展名的请求,然后IIS静态文件处理程序将接管。
使用您指定的“默认”路由映射和处理/XY
会发生什么。但是,静态文件由静态文件处理程序而不是MVC路由系统处理。您将需要阻止IIS处理静态文件。还有更多内容,您可以在this article