0

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

~/areas/Support

而且,在一些经典的 ASP 代码中,我需要引用一个包含文件

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

只是为了笑,我尝试包含一个/support指向该虚拟文件夹的虚拟文件夹,但是这当然会覆盖 MVC 路由并阻止 MVC 内容执行。

建议?

4

1 回答 1

0

我找到了一个似乎有些不合常规但到目前为止有效的解决方案。

在我的测试环境下(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 正确处理。

有趣的。

于 2010-06-30T20:02:51.850 回答