如何在开发与生产中使用两个连接字符串

Posted

技术标签:

【中文标题】如何在开发与生产中使用两个连接字符串【英文标题】:How to use two connection strings on development vs production 【发布时间】:2015-08-11 04:13:49 【问题描述】:

我的 Web.config 中有两个连接字符串。

  <connectionStrings>
    <add name="AuthContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=mokey;Integrated Security=True" providerName="System.Data.SqlClient" />
    <add name="AuthContextmysql" providerName="MySql.Data.MySqlClient" connectionString="database=mokey;persistsecurityinfo=True" />
  </connectionStrings>

我可以指定在这样的代码中使用哪一个:

public class AuthContext : IdentityDbContext<IdentityUser>

    public AuthContext()
        : base("AuthContextMySQL")
    
    

如何根据开发与生产指定使用哪一个?

【问题讨论】:

假设你使用VS,你可以有多个web.config.cs文件-参考this article ***.com/questions/15706477/…的可能重复 【参考方案1】:

您可以在构建步骤中使用web.config transformations 来添加/更新/删除 web.config 的部分,具体取决于构建配置。有关分步指南,请参阅 this article。

【讨论】:

所以我应该有一个连接字符串被转换为调试与发布? 您通常会将开发连接字符串放入 web.config 文件中。然后,您将拥有另一个 web.production.config 文件,您可以在构建/发布步骤中使用它来更改它。它们应该具有完全相同的名称,因此您的代码完全不知道更改。

以上是关于如何在开发与生产中使用两个连接字符串的主要内容,如果未能解决你的问题,请参考以下文章

拥有用于开发和生产的连接字符串

如何为生产模式c# wpf创建连接字符串[重复]

ASP .NET CORE 根据环境变量支持多个 appsettings.json

mysql 开发进阶篇系列 23 应用层优化与查询缓存

如何在MySQL中连接两个字符串

Azure 部署槽 - 交换和保留连接字符串