zoukankan      html  css  js  c++  java
  • C#读取配置文件的几种方式

    配置文件

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="SQLConfiguration" type="ConfigurationDemo.SQLConfiguration,ConfigurationDemo"/>
        <section name="AccountConfiguration" type="ConfigurationDemo.AccountConfiguration,ConfigurationDemo"/>
      </configSections>
      <SQLConfiguration type="MSSQL" connectionString="server=.;integrated security=sspi;database=Northwind"></SQLConfiguration>
      <AccountConfiguration>
        <users username="liunian" password="123456"></users>
      </AccountConfiguration>
      <system.net>
        <mailSettings>
          <smtp from="liunian@qq.com">
            <network />
          </smtp>
        </mailSettings>
      </system.net> </configuration>

    第一种

        class SQLConfiguration : ConfigurationSection
        {
            [ConfigurationProperty("type", IsRequired = true)]
            public string Type
            {
                get { return this["type"].ToString(); }
                set { this["type"] = value; }
            }
    
            [ConfigurationProperty("connectionString", IsRequired = true)]
            public string ConnectionString
            {
                get { return this["connectionString"].ToString(); }
                set { this["connectionString"] = value; }
            }
        }
                SQLConfiguration sqlConfig = (SQLConfiguration)ConfigurationManager.GetSection("SQLConfiguration");
                Console.WriteLine(sqlConfig.Type);
                Console.WriteLine(sqlConfig.ConnectionString);

    第二种

        public class AccountConfiguration : ConfigurationSection
        {
            [ConfigurationProperty("users", IsRequired = true)]
            public AccountSectionElement Users
            {
                get { return (AccountSectionElement)this["users"]; }
            }
        }
    
        public class AccountSectionElement : ConfigurationElement
        {
            [ConfigurationProperty("username", IsRequired = true)]
            public string UserName
            {
                get { return this["username"].ToString(); }
                set { this["username"] = value; }
            }
    
            [ConfigurationProperty("password", IsRequired = true)]
            public string Password
            {
                get { return this["password"].ToString(); }
                set { this["password"] = value; }
            }
        }
              AccountConfiguration accountConfig = (AccountConfiguration)ConfigurationManager.GetSection("AccountConfiguration");
                Console.WriteLine(accountConfig.Users.UserName);
                Console.WriteLine(accountConfig.Users.Password);

    第三种

                Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                SmtpSection section = config.GetSection("system.net/mailSettings/smtp") as SmtpSection;
                Console.WriteLine(section.From);

    第四种

    http://www.cnblogs.com/liunlls/p/config.html

    第五种

     ConfigurationManager.AppSettings

    第六种

     ConfigurationManager.ConnectionStrings

    当然还有很多......

  • 相关阅读:
    asp.net webapi 无法使用多个post,浏览器不支持put delete,405错误
    vs2019 nable-migrations : 无法将“enable-migrations”项识别为 cmdlet 使用“1”个参数调用“LoadFrom”时发生异常:“ EntityFramew
    javascript 扩展运算符(spread)三个点(...)的作用及用法
    PIE SDK元素的选择和取消选择
    PIE SDK元素的删除
    PIE SDK元素事件的监听
    PIE SDK临时元素的绘制
    PIE SDK图片元素的绘制
    PIE SDK文本元素的绘制
    PIE SDK面元素的绘制
  • 原文地址:https://www.cnblogs.com/liunlls/p/configuration.html
Copyright © 2011-2022 走看看