静态文件有可能不被asp.net mvc引擎处理吗?
我可以在 IIS 级别或其他级别执行此操作吗? (当然无需为静态文件创建单独的 IIS 网站)
您需要为不希望通过 ASP.NET MVC 提供服务的特定类型的文件创建忽略路由。
针对您要忽略的文件类型,将以下内容添加到您的路由中。
以下适用于根目录中的文件:
routes.IgnoreRoute("{file}.css");
routes.IgnoreRoute("{file}.jpg");
routes.IgnoreRoute("{file}.gif");
如果你想忽略特定目录中的文件,可以这样做:
routes.IgnoreRoute("assets/{*pathInfo}");
如果您想将这些合并到一个路由中,您可以(例如,忽略目录中特定类型的文件):
routes.IgnoreRoute("{assets}", new { assets = @".*\.(css|js|gif|jpg)(/.)?" });
This 超载的IgnoreRoute https://msdn.microsoft.com/en-us/library/dd470170(v=vs.118).aspx接受一个 url(第一个参数)和一个要忽略的 Constraints 对象。
由于 ASP.NET MVC 中的 RouteConstraints 可以通过多种方式实现(包括正则表达式),因此您可以将标准正则表达式放在第二个参数中。
如果您想实现自定义约束,关于这个主题有很多有用的文档 http://www.asp.net/mvc/overview/older-versions-1/controllers-and-routing/creating-a-custom-route-constraint-cs(比如说,如果您的约束在运行时是动态的)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)