【问题标题】:Same ASP.NET virtual directory, different behavior, why?相同的 ASP.NET 虚拟目录,不同的行为,为什么?
【发布时间】:2012-03-22 15:08:35
【问题描述】:

我使用 C# 创建一个虚拟目录,IIS 中的默认文档是一个 .aspx 文件。我还为这个虚拟目录创建了一个应用程序池。对于 .NET 4.0,应用程序池的属性是“集成的”。

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

我在VM B的web.config中添加了这个节点,虚拟目录也可以访问

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

但我很困惑,为什么不添加上述节点就可以访问 VM A? VM A 和 VM B 都是 windows 8 和 IIS7。

谁能给我一些帮助?谢谢!

【问题讨论】:

    标签: c# iis iis-7 application-pool isapi


    【解决方案1】:

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

    【讨论】:

    • 谢谢你的回答,Tomek。但我的应用程序不在“wwwroot”文件夹中,我把它放在“C\program files(x86)”目录中,我检查了目录并没有t 在其父文件夹中找到任何配置文件。我还检查了“wwwroot”文件夹,里面也没有配置文件。只有另一个应用程序的文件夹,在该应用程序文件夹中有一个 web.config 文件。我在其中找到了一个 节点。我的应用程序会继承此配置吗?谢谢!
    • 当涉及到配置继承时,您必须查看应用程序的 IIS 层次结构(即如何在 IIS 管理器中查看它)。通常有主应用程序映射为Website,在网站下你有Virtual DirectoriesApplications
    猜你喜欢
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多