ASP.NET中的多个Web配置文件

时间:2015-12-04 11:17:44

标签: c# asp.net web-config

嗯,是的,同一主题上有多个帖子。我的问题的解决方案之一是多个web.config文件,但我不确定它是否有效。

问题:

我有一个asp.net项目。我有两个客户端(有自己的存储和数据库),我需要部署应用程序。存储和数据库只是两个示例,但客户端有许多其他独特的设置,可以在应用程序设置中进行管理。无论我对项目代码做了什么改变,我都需要为两个客户端部署。

目前我的网络配置如下所示:

<!-- GHR Settings -->

  <connectionStrings>
    <add name="DefaultConnection" connectionString="conn-string" providerName="System.Data.SqlClient" />
  </connectionStrings>

  <appSettings>
    <add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<acntName>;AccountKey=<acntKey>" />
    <add key="StorageURL" value="<storageurl>" />
    <add key="ProfileURL" value="<ProfileURL>" />
    <add key="GenericURL" value="<GenericURL>" />
    <add key="IDocURL" value="<IDocURL>" />
    <add key="LogosURL" value="<LogosURL>" />
    <add key="DocsURL" value="<DocsURL>" />
    <add key="DefaultPassword" value="pass123" />
  </appSettings>

  <!-- TP Settings -->

  <!--

  <connectionStrings>
    <add name="DefaultConnection" connectionString="conn-string" providerName="System.Data.SqlClient" />
  </connectionStrings>

  <appSettings>
    <add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=<acntName>;AccountKey=<acntKey>" />
    <add key="StorageURL" value="<storageurl>" />
    <add key="ProfileURL" value="<ProfileURL>" />
    <add key="GenericURL" value="<GenericURL>" />
    <add key="IDocURL" value="<IDocURL>" />
    <add key="LogosURL" value="<LogosURL>" />
    <add key="DocsURL" value="<DocsURL>" />
    <add key="DefaultPassword" value="pass123" />
  </appSettings>

    <add key="DefaultPassword" value="pass123" />

  </appSettings> -->

如您所见,我复制了设置并评论了一个客户端的设置,并在服务器上进行部署。然后我为其他客户做这件事。

这项工作正常,但在发布期间维护过多而容易出错。

请说明这样做的正确方法。

感谢。

1 个答案:

答案 0 :(得分:0)

我在我的案例中所做的是为DB connectionstring创建一个单独的配置文件,并在web.config中引用该文件。通过这种方式,您可以为您的客户端提供相同的web.config,并且只需要发送一次connectionstring.config文件!

在web.config中

<connectionStrings configSource="ConfigFiles\ConnectionStrings.config" />

在该文件中放置了connectionstring

对于

部分可以做同样的事情