我找到了一个解决方案,似乎有点非传统,但目前为止正在工作。
在我的测试环境(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正确处理。
很有趣。