子文件夹受root web.config的影响

时间:2009-01-23 14:55:08

标签: asp.net web-config virtual-directory

这应该是一个简单的问题,

我正在IIS下构建一个站点, 对于像这样的子目录中的一部分 我把它变成了虚拟目录

根文件夹有自己的web.config 博客子文件夹有自己的。

root的web.config 中我使用了:

<pages theme="DefaultTheme">

并且子文件夹似乎受此影响, 它会导致错误,告诉我没有这个主题。

解决方案是什么?

4 个答案:

答案 0 :(得分:5)

查看:

<location> ... </location>

可以加载到web.config中的元素。并非所有内容都可以在其下工作,但您可以覆盖子文件夹以使其不具有主题。或者你可以将主题限制为仅包含那些标签的顶级文件夹?

答案 1 :(得分:4)

Web.Config可以嵌套,因此pages元素将影响范围内的所有其他应用程序(例如,有一个web.config在框架的config文件夹中设置各种默认值)。

如果您不想在博客文件夹中的页面上使用主题,您是否尝试将主题设置为子web.config中的空字符串?这是属性的有效值,应该覆盖父级中的一个。

主题通过查看应用程序根目录下的Themes文件夹来工作 - 在这种情况下,在/ blogs文件夹下,如果它在那里找不到,它将抛出此异常。

答案 2 :(得分:3)

您想要添加

<clear/>

到子文件夹的web.config。这将清除您放置clear into的任何部分的父配置值。例如,如果要从父配置文件中清除任何连接字符串,则执行以下操作:

<connectionStrings>
    <clear/>
    <!-- add new connection strings here -->
</connectionStrings>

答案 3 :(得分:0)

除了将两个应用程序移动到子文件夹并确保父文件夹没有Web.config之外,我还没有找到解决方案。