代码之家  ›  专栏  ›  技术社区  ›  Dan Atkinson

打开routeexistingfiles时的注意事项

  •  4
  • Dan Atkinson  · 技术社区  · 14 年前

    我希望 一些 我的内容文件夹中动态的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中的路由是懒惰的,但我不知道是否先检查忽略路由。没有文档(我在谷歌上搜索过!)在这种用法上。
    • 打开电源时是否需要考虑安全问题? RouteExistingFiles ?我不希望IIS直接引用我的模型/视图文件夹。

    非常感谢你的建议。

    编辑:

    经过进一步的研究,我发现 article 关于我的第一期。

    1 回复  |  直到 14 年前
        1
  •  3
  •   Ray    14 年前

    ScottHanselman在博客上发表了一篇博文“Plug-inHybrids:ASP.NET Webforms和ASP.MVC以及ASP.NET动态数据并排”,他也谈到了自己的想法。 http://www.hanselman.com/blog/PlugInHybridsASPNETWebFormsAndASPMVCAndASPNETDynamicDataSideBySide.aspx

    希望这有帮助,

    瑞。