我基本上正在尝试做与 this question 相同的事情, 在文件夹中创建一个新应用程序,以便可以按如下方式访问它。
* http://www.domain.com/ < Main App
* http://www.domain.com/newapp < New App
问题是 newapp 正在从主应用程序读取 web.config,这会导致错误,因为它不具有所有相同的 dll 等
对于新应用程序,在 IIS 中,起始点设置在/newapp,所以我根本不知道为什么它要从/读取 web.config。它被设置为它自己的应用程序。
我正在 XP Pro 上的 IIS6 中对此进行测试,因此不确定这是否会产生影响。 主应用程序是 dotnet 1.1,新应用程序是 3.0。
编辑:
将“inheritInChildApplications”添加到 <location
> 在 1.1 中不起作用,您会收到错误:
Parser Error Message: Unrecognized attribute 'inheritInChildApplications'
最佳答案
这是设计使然。 Web.config 是从根目录读取到相关应用程序文件夹的。根目录中的所有更改都会应用于您的应用程序,除非您的应用程序对其进行了更改。阅读此MSDN link更好地理解 Web.config 层次结构和继承。
为了让您的应用忽略根目录中的设置,您需要应用 location 元素,并将路径的继承InChildApplications 属性设置为 false。
类似于:
<location path="." inheritInChildApplications="false">
<settings.....>
</location
例如,如果根 web.config 中有一个仅特定于根应用程序的部分,则将 location 元素包裹在该部分周围。使用“.”路径指示您希望此应用程序文件夹下的路径中的所有项目不继承此部分。
关于asp.net - 在 IIS/ASP.Net 的 .NET 1.1 应用程序中创建 .NET 3.0 子应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2555758/