我通过继承RouteBase实现了一个自定义的路由MyCustomRoute
我已经编写了GetRoutData,只要我使用像/XY这样的URL,这个方法就会被调用。但是,当我调用/XY.htm或/XY.pdf之类的网址时,该方法不会被调用。我猜在某个地方我必须指示我的应用程序也需要通过四舍五入来处理文件
这就是我在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 }
);
}我需要做些什么才能让“文件”也能被我的路由处理?
发布于 2014-07-25 17:00:41
通常,在默认情况下,路由系统将忽略对尚未映射到的文件扩展名的请求,然后IIS静态文件处理程序将接管该请求。
发生的情况是,使用您指定的“默认”路由映射和处理/XY。但是,静态文件由静态文件处理程序处理,而不是由MVC路由系统处理。您需要停止IIS处理静态文件。这里涉及到更多内容,您可以在this article中找到更多详细信息
https://stackoverflow.com/questions/24951310
复制相似问题