我希望能够将子“文件夹”添加到MVC区域。例如,我有一个区域
~/areas/Support
而且,在一些经典的ASP代码中,我需要引用一个包含文件
<!-- #include virtual="/Support/_inc/myinclude.asp"-->
只是为了笑容,我尝试包含指向此虚拟文件夹的虚拟文件夹/support
,但当然,这会覆盖MVC路由并阻止MVC执行。
建议?
答案 0 :(得分: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可以正确处理它们。
有趣。