如何在 web.config 中处理多个开发人员环境
how to handle multiple developer environment in web.config
假设我们有三个环境 dev、qa 和 prod。除此之外,所有开发人员都有自己的环境。您如何管理每个环境的连接字符串或应用程序设置?
我相信对于开发、质量检查和生产,我可以使用 web.config 转换(网上有很多关于如何做的资源)。但我对如何以可管理的方式设置开发人员设置感到困惑。我们一直在做的一种方式是
--web.config--
<add name="oracle_user1" connectionString="Data Source=DevDB;..." providerName="Oracle.DataAccess.Client"/>
<add name="oracle_user2" connectionString="Data Source=QaDB;..." providerName="Oracle.DataAccess.Client"/>
<add name="oracle_dev" connectionString="Data Source=DevDB;..." providerName="Oracle.DataAccess.Client"/>
<add name="oracle_qa" connectionString="Data Source=QaDB;..." providerName="Oracle.DataAccess.Client"/>
<add name="oracle_prod" connectionString="Data Source=ProdDB;..." providerName="Oracle.DataAccess.Client"/>
--code--
string conString = ConfigurationManager.AppSettings["oracle_" + Environment.GetEnvironmentVariable("AppEnv")]
这是执行此操作的标准方法吗?
我们处理这个问题的方法是对连接字符串使用一个单独的配置,它被排除在存储库之外。
在 Web.Config 中,连接字符串部分如下所示:
<connectionStrings configSource="Config\ConnectionStrings.config" />
配置文件夹有两个文件:
- ConnectionStrings.Config
- ConnectionStrings.Config.模板
模板文件包含以下内容:
<connectionStrings>
<add name="ConnectionString" connectionString="[...]" providerName="System.Data.SqlClient" />
</connectionStrings>
每个开发人员将其复制到一个名为 ConnectionStrings.config
的新文件中,并编辑连接字符串以反映他们的机器。
您也可以使用相同的方法来外部化其他配置设置。
假设我们有三个环境 dev、qa 和 prod。除此之外,所有开发人员都有自己的环境。您如何管理每个环境的连接字符串或应用程序设置?
我相信对于开发、质量检查和生产,我可以使用 web.config 转换(网上有很多关于如何做的资源)。但我对如何以可管理的方式设置开发人员设置感到困惑。我们一直在做的一种方式是
--web.config--
<add name="oracle_user1" connectionString="Data Source=DevDB;..." providerName="Oracle.DataAccess.Client"/>
<add name="oracle_user2" connectionString="Data Source=QaDB;..." providerName="Oracle.DataAccess.Client"/>
<add name="oracle_dev" connectionString="Data Source=DevDB;..." providerName="Oracle.DataAccess.Client"/>
<add name="oracle_qa" connectionString="Data Source=QaDB;..." providerName="Oracle.DataAccess.Client"/>
<add name="oracle_prod" connectionString="Data Source=ProdDB;..." providerName="Oracle.DataAccess.Client"/>
--code--
string conString = ConfigurationManager.AppSettings["oracle_" + Environment.GetEnvironmentVariable("AppEnv")]
这是执行此操作的标准方法吗?
我们处理这个问题的方法是对连接字符串使用一个单独的配置,它被排除在存储库之外。
在 Web.Config 中,连接字符串部分如下所示:
<connectionStrings configSource="Config\ConnectionStrings.config" />
配置文件夹有两个文件:
- ConnectionStrings.Config
- ConnectionStrings.Config.模板
模板文件包含以下内容:
<connectionStrings>
<add name="ConnectionString" connectionString="[...]" providerName="System.Data.SqlClient" />
</connectionStrings>
每个开发人员将其复制到一个名为 ConnectionStrings.config
的新文件中,并编辑连接字符串以反映他们的机器。
您也可以使用相同的方法来外部化其他配置设置。