【发布时间】:2011-01-25 00:39:14
【问题描述】:
我希望在我的 Content 文件夹中动态生成 一些 CSS 文件。
目前,此文件夹有一个忽略路由 (routes.IgnoreRoute("Content/{*wildcard}");),我希望保留它,因为我不需要/不希望我的大部分内容文件夹进入 MVC 请求生命周期。
示例:
routes.MapRoute(
"DynamicCSS",
"Content/Css/Dynamic/{guid}.css",
new { controller = "Site", action = "GenerateCSS" },
new { guid = @"^([0-9a-fA-F]){8}([0-9a-fA-F]){4}([0-9a-fA-F]){4}([0-9a-fA-F]){4}([0-9a-fA-F]){12}$" }
);
//If the file has already been generated, IIS should just return the file, saving a request in MVC.
routes.RouteExistingFiles = true; //was formerly false
//Ignore routes
routes.IgnoreRoute("Content/{*wildcard}");
我对此设置有几个问题/疑虑:
- 这行得通吗? ASP.NET MVC 中的路由是懒惰的,但不知道是否先检查忽略路由。没有关于这种用法的文档(我用 Google 搜索过!)。
- 开启
RouteExistingFiles时是否需要考虑任何安全隐患?我不希望 IIS 通过直接引用它们来获取我的任何模型/视图文件夹。
非常感谢您的任何建议。
编辑:
经过进一步研究,我在第一期找到了article。
【问题讨论】:
标签: asp.net-mvc routing asp.net-mvc-routing