我希望能够将子“文件夹”添加到 MVC 区域。例如,我有一个区域
~/areas/Support
而且,在一些经典的 ASP 代码中,我需要引用一个包含文件
<!-- #include virtual="/Support/_inc/myinclude.asp"-->
只是为了笑,我尝试包含一个/support
指向该虚拟文件夹的虚拟文件夹,但是这当然会覆盖 MVC 路由并阻止 MVC 内容执行。
建议?
我希望能够将子“文件夹”添加到 MVC 区域。例如,我有一个区域
~/areas/Support
而且,在一些经典的 ASP 代码中,我需要引用一个包含文件
<!-- #include virtual="/Support/_inc/myinclude.asp"-->
只是为了笑,我尝试包含一个/support
指向该虚拟文件夹的虚拟文件夹,但是这当然会覆盖 MVC 路由并阻止 MVC 内容执行。
建议?
我找到了一个似乎有些不合常规但到目前为止有效的解决方案。
在我的测试环境下(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 将其路由到 /Areas/Support... 项目。但是,与应用程序配置中的虚拟文件夹匹配的任何内容似乎都在 ASP.NET 接管之前由 IIS 路由,因此它们由 ASP 正确处理。
有趣的。