2012-03-05 89 views
0

我使用C#创建虚拟目录,IIS中的默认文档是.aspx文件。我也为这个虚拟目录创建了一个应用程序池。应用程序池的属性是.NET 4.0的“集成”。相同的ASP.NET虚拟目录,不同的行为,为什么?

在虚拟机A上,可以在浏览器中访问虚拟目录。 在虚拟机B上,浏览器无法访问虚拟目录。

我在VM B web.config中添加此节点,虚拟目录可以访问过

<system.webServer> 
     <validation validateIntegratedModeConfiguration="false"/> 
</system.webServer> 

但我困惑的是,为什么一个VM可以在不添加上述节点访问? VM A和VM B都是Windows 8和IIS7。

任何人都可以给我一些帮助吗?谢谢!

回答

0

确保这些机器之间的web.config文件没有差异。不仅你的虚拟目录的web.config(顺便说一句,因为你有应用程序池分配它是Application而不是Virtual Directory),但也是父目录的web.config。可能有继承的配置元素与Integrated模式下运行的应用程序池不兼容。

+0

谢谢你的回答,Tomek.But我的应用程序不在“wwwroot”文件夹中,我把它放在“C \ program files(x86)”目录下,我检查了目录,没有找到任何配置文件在其父文件夹中。我也检查了“wwwroot”文件夹,其中也没有配置文件。只有另一个应用程序的文件夹,并在该应用程序文件夹中有一个web.config文件。我在其中找到了一个 节点。这个配置是否会继承我的应用程序?谢谢! – mkutkz 2012-03-06 01:59:20

+0

当涉及到配置继承时,您必须查看应用程序的IIS层次结构(即如何在IIS管理器中查看它)。通常有主应用程序映射为“网站”,并在网站下有“虚拟目录”和“应用程序” – Tomek 2012-03-06 09:15:35

相关问题