IIS7 – 虚拟目录的父path行为不同于以前的版本

我正在IIS 5上运行的Web服务器迁移到IIS 7.我注意到,这两个虚拟目录的行为不同。

我有一个位于c:\ inetpub \ SiteName的网站。 该站点包含一个指向c:\ virtualdirs \ bob的虚拟目录“bob”。 bob文件夹(script.asp)中有一个脚本,它只包含:

<!--#include virtual="../index.asp"--> 

当我尝试通过转到http://SiteName/bob/script.asp来运行脚本时,我注意到IIS5和IIS7之间的不同行为:

IIS5引用站点的父path,并导入c:\ inetpub \ SiteName \ index.asp。 IIS7引用虚拟目录的父文件夹,并查找ac:\ virtualdirs \ index.asp(不存在)。 做一个Response.Write的一个Server.MapPath证实了这一点。

有没有办法让IIS7在这方面performance得像IIS5? 不幸的是,将index.asp及其逻辑移动到virtualdirs文件夹不是一个选项,因为虚拟目录将在多个站点之间共享(使用不同的index.asps)。

谢谢。

在其他论坛上回答: http : //forums.iis.net/p/1168652/1946977.aspx

几乎证实了IIS版本之间的function改变。 解决这个问题的唯一方法就是修改对虚拟目录的代码从“..”到“/”(站点根目录)的引用。

显然不是最佳的解决scheme,但它现在必须做。