web.config中的嵌套部分

时间:2012-07-10 18:08:29

标签: c# web-config

我需要在我的Web.config文件中创建嵌套部分,我找不到符合我要求的任何示例。

<IPTests>
    <Environment environment="DEV">
      <Machine machine="Web01">
        <SiteIP site="Sitecore" ip="10.10.2.191">
        </SiteIP>
      </Machine>
    </Environemnt>
</IPTests>

这用于不同应用程序/站点的“运行状况检查”。我需要检查不同站点使用的所有资源。我已经使用DNS完成了这项工作,但是我现在需要通过使用IP地址命中不同的服务器,在不同的环境中为不同的服务器执行此操作。

任何帮助都会很棒!

这就是我到目前为止所做的。

public class IPTests : ConfigurationSectionGroup
    {
        [ConfigurationProperty("codeEnvironment")]
        public CodeEnvironmentSection CodeEnvironment
        {
            get { return (CodeEnvironmentSection)base.Sections["codeEnvironment"]; }
        }
    }

    public class CodeEnvironmentSection : ConfigurationSection
    {
        [ConfigurationProperty("environemnt")]
        public ValueElement To
        {
            get { return (ValueElement)base["environemnt"]; }
        }
    }

    public class MachineSection : ConfigurationSection
    {
        [ConfigurationProperty("machine")]
        public ValueElement To
        {
            get { return (ValueElement)base["machine"]; }
        }
    }

    public class SiteIPSection : ConfigurationSection
    {
        [ConfigurationProperty("site")]
        public ValueElement To
        {
            get { return (ValueElement)base["site"]; }
        }

        [ConfigurationProperty("ip")]
        public ValueElement To
        {
            get { return (ValueElement)base["ip"]; }
        }
    }

    public class ValueElement : ConfigurationElement
    {
        [ConfigurationProperty("value")]
        public string Value
        {
            get { return (string)base["value"]; }
            set { base["value"] = value; }
        }
    }

2 个答案:

答案 0 :(得分:0)

查看Configuration Section Designer。我用它来生成配置类,然后花了一些时间来理解API和设计。

答案 1 :(得分:0)

您似乎正在尝试在web.config中存储信息数据库。如果这可能会发生变化,那么你就不应该在这里存储它。

问题是对web.config的任何更改都会导致您的网站重新启动并重置用户会话缓存等。

如果您致力于添加自己的部分,则可以通过创建自定义ConfigurationSection类来完成此操作:

您可以在网上搜索更多相关信息,因为那里有很多教程。