在web.config ASP.NET Framework中管理多个appSettings

时间:2018-03-16 11:27:06

标签: asp.net visual-studio asp.net-mvc-4 web-config app-config

我有一个代码库,但在2个不同的服务器上运行的应用程序有2个不同的实例。由于我只有一个web.config文件,所以我想扩展<appSettings>部分,其中包括2个项目的2个不同设置。

当前web.config档案appSettings部分

<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="AuditLogLocation" value="E:\\LOG\\Auditlogs" />
    <add key="DateFormat" value="yyyy-MM-dd HH:mm:ss" />
    <add key="DefaultConnection" value="Data Source=*****.test.com;Initial Catalog=AppName;Integrated Security=SSPI" />
  </appSettings>

如何扩展上述部分,以便我可以包含一个appSettings文件。

<appSettings configSource="appSettings.config"/>

appSettings.config可以包含这两个项目的公共密钥和单独密钥。

这样的东西
{
  "AuditLogLocation": "E:\\LOG\\Auditlogs",
  "DateFormat": "yyyy-MM-dd HH:mm:ss"
  "Project1Settings": {
    "DefaultConnection": "Data Source=*****.test.com;Initial Catalog=Project1;Integrated Security=SSPI",
    "apiSource" : "https://www.api-project1.com"
  },
  "Project2Settings": {
    "DefaultConnection": "Data Source=*****.test.com;Initial Catalog=Project2;Integrated Security=SSPI",
    "apiSource" : "https://www.api-project2.com"
  }
}

目前,我正在使用像

这样的appSettings值
BaseDAL.ConfigureConnection(ConfigurationManager.AppSettings["DefaultConnection"]);

但是我想将其更改为新格式并根据项目(Project1Settings或Project2Settings)获取DefaultConnection

0 个答案:

没有答案