【问题标题】:Sub Folder is affected by root web.config子文件夹受根 web.config 的影响
【发布时间】:2009-01-23 14:55:08
【问题描述】:

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

我正在 IIS 下建立一个站点, 对于其中的一部分,位于 \blog 等子目录中 我把它变成了一个虚拟目录

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

在我使用的 root 的 web.config 中:

<pages theme="DefaultTheme">

子文件夹似乎受到影响, 它会导致错误提示我没有这个主题。

解决办法是什么?

【问题讨论】:

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


    【解决方案1】:

    查看:

    <location> ... </location>
    

    可以加载到 web.config 中的元素。并非所有内容都可以在它下运行,但是您可以覆盖子文件夹以使其没有主题。或者您可以将主题限制为仅具有这些标签的顶级文件夹?

    【讨论】:

    • 答案都应该是正确的,你能给我一个关于你在这个问题中告诉的解决方案的例子吗谢谢
    • diablopup.blogspot.com/2007/05/… 是一个很好的例子来说明我在说什么。
    • 是的,你可以做一些漂亮的事情。但并非一切正常。
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      你想添加

      <clear/>
      

      到子文件夹的 web.config。这将从您放置clear into 的任何部分清除父配置值。例如,如果您想从父配置文件中清除任何连接字符串,您可以这样做:

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

      【讨论】:

      • 不幸的是它给了我无法理解这个清晰元素的错误
      • @Sypress:你有 inside 部分吗?我最初错误地把它放在打开 connectionStrings 元素之前,我得到了错误“Unrecognized configuration section clear”。
      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2014-01-29
        • 2013-08-19
        • 1970-01-01
        • 2023-03-08
        • 1970-01-01
        • 1970-01-01
        • 2015-10-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多