正如标题所述,当我尝试从Internet访问网站时,与从本地网络访问相比,我在网站上的行为有所不同,我不知道为什么。我知道这是因为IIS试图从父应用程序为我提供内容,但我不知道如何解决它。
让我尝试解释:我有一个网站(不是Web应用程序),该网站已部署到现有IIS站点,然后将其转换为应用程序。如果我从本地网络(<hostname>/path/to/site.aspx
访问该网站,那么一切正常,但是当我尝试从Internet(<domain.name>/path/to/site.aspx
)访问该网站时,它中断了,并且我已经设置了映射正确地针对域(在父应用程序上有效)。
最初,它无法访问Site.Master页面,并说无法在<Site Parent Folder>/Site.Master
(而不是<Site Parent Folder>/<Current App>/Site.Master
)上找到该文件,因此我不得不在ASP页面上更改母版页引用从~/Site.Master
到Site.Master
,这似乎只对母版页有效。现在,它给我一个关于无法在App_Code
目录(The type or namespace name 'MyClass' could not be found. Are you missing a using directive or an assembly reference?
)中找到我的类的错误,因此我怀疑它仍在尝试从父目录中引用那些类。
关于如何解决它的任何想法,以便它引用当前应用程序的目录而不是父应用程序的目录?
预先感谢。
答案 0 :(得分:0)
确保已部署的网站正在作为主要IIS站点下的子应用程序运行。
在您的主要IIS网站中,更新web.config并用system.web
设置为false的位置元素包装inheritInChildApplications
部分
<location path="." inheritInChildApplications="false">
<system.web>
…
</system.web>
</location>
您可以详细了解here