Multiple AppSettings files, is it possible?

前端 未结 2 2080
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-07 15:50

I want to create 3 AppSettings config files:

  • Database.config
  • Messages.config
  • Global.config

And after add in my App.config:

相关标签:
2条回答
  • 2020-12-07 16:10

    Code for separate file:

    Web.config:

    <configSections>
        <section name="DatabaseConfig" type="System.Configuration.NameValueFileSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <section name="MessageConfig" type="System.Configuration.NameValueFileSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        <section name="GlobalConfig" type="System.Configuration.NameValueFileSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </configSections>
    
    <DatabaseConfig configSource="database.config">
    </DatabaseConfig>
    
    <MessageConfig configSource="message.config">
    </MessageConfig>
    
    <GlobalConfig configSource="global.config">
    </GlobalConfig>
    

    database.config:

    <DatabaseConfig>
      <add key="Name" value="ServerName" />
    </DatabaseConfig>
    

    etc...

    Can be accessed via code like this:

    var databaseConfiguration = (NameValueCollection)ConfigurationManager.GetSection("DatabaseConfig");
    string name = databaseConfiguration["Name"];
    
    0 讨论(0)
  • 2020-12-07 16:20

    You can't have more than one appsettings because that's the name of a section. You can add a new section though that uses the same kind of section definition as appsettings. E.g.,

    <configuration>
        <configSections>
            <section name="DatabaseConfig" type="System.Configuration.NameValueFileSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
        </configSections>
        ....
        <DatabaseConfig>
           <add key="Whatever" value="stuff"/>
        </DatabaseConfig>
    </configuration>
    
    0 讨论(0)
提交回复
热议问题