.net 如何在web.config中读取自定义节点以及注意的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net 如何在web.config中读取自定义节点以及注意的问题相关的知识,希望对你有一定的参考价值。

参考技术A 注意问题就是要注意节点的名字和结构位置。如果不对可能会读取不到的。
读取方法详见 (引自
忆风的博客http://www.cnblogs.com/dhjdhja
)  http://dhjdhja.blog.163.com/blog/static/6472113620104481550966/

ASP.NET使用ConfigurationSection在Web.Config创建自定义配置节

主要代码,一定要继续System.Configuration.ConfigurationSection,具体的节点名称可以自行修改

技术分享
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

namespace Commons
{
    /// <summary>
    /// ConfigSection 的摘要说明
    /// </summary>
    public class MyConfigSection : ConfigurationSection
    {
        public MyConfigSection()
        { 
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
        [ConfigurationProperty("user", DefaultValue = "admin", IsRequired = true)]
        public string User
        {
            get { return (string)this["user"]; }
            set { this["user"] = value; }
        }

        [ConfigurationProperty("password", DefaultValue = "password", IsRequired = true)]
        public string PassWord
        {
            get { return (string)this["password"]; }
            set { this["password"] = value; }
        }

        [ConfigurationProperty("element")]
        public elementinfo Element
        {
            get { return (elementinfo)this["element"]; }
            set { this["element"] = value; }
        }
    }
    public class elementinfo : ConfigurationElement
    {
        public elementinfo() { }


        [ConfigurationProperty("element1", DefaultValue = "element1", IsRequired = true)]
        public string Element1
        {
            get { return (string)this["element1"]; }
        }

        [ConfigurationProperty("element2", DefaultValue = "element2", IsRequired = true)]
        public string Element2
        {
            get { return (string)this["element2"]; }
        }


    }
}
View Code

配置文件

<configSections>
    <sectionGroup name="mygroup">
      <section name="mysection" type="Commons.MyConfigSection" allowDefinition="Everywhere" allowLocation="true"/>
    </sectionGroup>
  </configSections>

<mygroup> <mysection user="用户" password="密码"> <element element1="属性1" element2="属性2"></element> </mysection> </mygroup>

代码中使用值

 Commons.MyConfigSection config = (Commons.MyConfigSection)ConfigurationManager.GetSection("mygroup/mysection");
 Response.Write("用户名:" + config.User.ToString() + "密码:" + config.PassWord.ToString() + "元素属性:" + config.Element.Element1.ToString() + config.Element.Element2.ToString());

 

以上是关于.net 如何在web.config中读取自定义节点以及注意的问题的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET使用ConfigurationSection在Web.Config创建自定义配置节集合

.net core实现读取自定义配置文件

web config自定义节点报错 跪求大神完美解答

ASP.NET MVC 4中如何读取web.config中的配置

web.config文件详解

如何从 Web.config 读取 system.net/mailSettings/smtp