2010-03-31 39 views
5

我基本上试图做与this question, 一样的事情在一个文件夹中创建一个新应用程序,以便可以按如下方式访问它。在IIS/ASP.Net中的.NET 1.1应用程序中创建.NET 3.0子应用程序

* 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' 

回答

4

这是由设计。 Web.config从根目录读取到有问题的应用程序文件夹。除非您的应用程序对其进行更改,否则根目录中的所有更改都会应用于您的应用程序阅读MSDN link以更好地了解Web.config层次结构&继承。

为了让您的应用程序忽略根目录中的设置,您需要将位置元素应用于路径的inheritInChildApplications属性设置为false。

喜欢的东西:

<location path="." inheritInChildApplications="false"> 
<settings.....> 
</location 

例如,如果你在根web.config一款专用于根程序只,然后环绕该节中的位置元素。使用“。”的路径。以表明您希望此应用程序文件夹下的路径中的所有项目不会继承此部分。

+0

我加入这个局面在根目录下,但是因为这是一个1.1应用程序,它不能识别它:当试图在根目录中查看页面时出现此错误:解析器错误消息:无法识别的属性'inheritInChildApplications' – Karen 2010-03-31 20:37:48

+0

哦。这将是一个问题。此元素适用于2.0及更高版本。除非你可以得到1.1到2.0,否则你可能会被卡住,因为这是由web.config工作原理设计的。 – klabranche 2010-04-01 14:47:28

+0

我发现的唯一的事情是将删除标签添加到每个项目,导致问题的子web.config。例如:。但是,这使得子应用程序web.config依赖于父项,因此可能不是最佳选项。 – Karen 2010-04-01 15:13:57

0

如前所述 - inheritInChildApplications在.net 1.1中不起作用。

我一直在这方面做了大量的研究,我最初在这里寻找解决方案。这个问题没有说清楚这是一个1.1目标问题。

如果你有问题,你的应用程序是2.0或以上,然后看看这个文章在inheritInChildApplications大量的详细信息属性:

+0

对不起 - 我在主题中增加了更多细节,使其更加清晰。在原始发布时,我没有意识到这是一个1.1问题。 – Karen 2010-04-10 13:50:29

相关问题