【问题标题】:Considerations when turning on RouteExistingFiles打开 RouteExistingFiles 时的注意事项
【发布时间】: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


    【解决方案1】:

    Scott Hanselman 获得了一篇博文“Plug-In Hybrids: ASP.NET WebForms and ASP.MVC and ASP.NET Dynamic Data Side By Side”,其中他也谈到了他的问题。 http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx

    希望这会有所帮助,

    雷。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-14
      • 1970-01-01
      • 1970-01-01
      • 2010-10-04
      • 1970-01-01
      • 2012-01-12
      • 2022-12-12
      相关资源
      最近更新 更多