asp.net - 从网络外部访问站点时,IIS 网站路径的行为不同
问题描述
正如标题所述,当我尝试从 Internet 访问我的网站时,我在我的网站上得到了不同的行为,而不是从本地网络访问它,我不知道为什么。我知道这是因为 IIS 试图从父应用程序为我提供内容,但我不知道如何修复它。
让我尝试解释一下:我有一个网站(不是 Web 应用程序),我将其部署到现有的 IIS 站点,然后将其转换为应用程序。<hostname>/path/to/site.aspx
如果我从本地网络<domain.name>/path/to/site.aspx
(应用)。
<Site Parent Folder>/Site.Master
最初它无法访问 Site.Master 页面,说在(而不是)处找不到文件<Site Parent Folder>/<Current App>/Site.Master
,所以我不得不将 ASP 页面上的母版页引用从~/Site.Master
更改为 justSite.Master
这似乎对母版页有效只要。现在它给了我一个关于无法在App_Code
目录 ( The type or namespace name 'MyClass' could not be found. Are you missing a using directive or an assembly reference?
) 中找到我的类的错误,所以我怀疑它仍在尝试从父目录中引用这些类。关于如何修复它以使其引用当前应用程序的目录而不是父应用程序的目录的任何想法?提前致谢。
解决方案
确保您部署的网站作为 IIS 主站点下的子应用程序运行。
在您的主 IIS 网站中更新 web.config 并使用设置为 falsesystem.web
的位置元素包装部分inheritInChildApplications
<location path="." inheritInChildApplications="false">
<system.web>
…
</system.web>
</location>
你可以在这里阅读更多关于它的信息
推荐阅读
- spring - 如何从 Maven 依赖项中自动装配一个类?
- excel - 特定范围的条件锁定
- c++ - 带有 lambda 函数参数的重载模板函数的语法
- elasticsearch - Elasticsearch搜索孩子并报告父母和孩子的查询语法应该是什么
- python - 如何在多个 csv 文件的 glob 操作期间有效地填充
- javascript - JSON数据到时间
- visual-studio-code - 如何找到所有违反 eslint 规则的案例?
- python - 在所有缩放级别上保持椭圆形
- c# - 在启动时运行一个应用程序,该应用程序使用我的 url 打开浏览器,并且不要让用户关闭浏览器或应用程序
- c# - 在通用类型的通用列表 Blazor C# 中更改动态选择的 Div 类