代码之家  ›  专栏  ›  技术社区  ›  3Dave

MVC区域和虚拟文件夹

  •  0
  • 3Dave  · 技术社区  · 15 年前

    我希望能够添加一个子“文件夹”到MVC区域。例如,我有一个区域

    ~/areas/Support
    

    在一些经典的asp代码中,我需要引用include文件

    <!-- #include virtual="/Support/_inc/myinclude.asp"-->
    

    只是为了开心我试着把一个虚拟文件夹 /support 它指向这个虚拟文件夹,但是,当然,它会覆盖mvc路由并阻止mvc的执行。

    建议?

    1 回复  |  直到 12 年前
        1
  •  0
  •   3Dave    15 年前

    我找到了一个解决方案,似乎有点非传统,但目前为止正在工作。

    在我的测试环境(win7 ultimate 64上的iis7.5,asp.net mvc2)下,我编辑了配置文件

    c:\windows\system32\inetsrv\config\applicationHost.config
    

    添加了虚拟文件夹

    <virtualDirectory path="/Support/_inc" physicalPath="C:\websites\virt\...\support\_inc" />
    <virtualDirectory path="/support/man" physicalPath="c:\websites\http\...\support\man" />
    <virtualDirectory path="/support/man/docs" physicalPath="c:\websites\virt\...\support\man\docs" />
    <virtualDirectory path="/Support/docs" physicalPath="C:\websites\virt\...\support\docs" />
    <virtualDirectory path="/Support/man/_inc" physicalPath="C:\websites\virt\...\support\man\_inc" />
    

    因为在 /support ,MVC路由到/区域/支持…项目。但是,与应用程序配置中的虚拟文件夹匹配的任何内容似乎都是在asp.net接管之前由iis路由的,因此它们由asp正确处理。

    很有趣。