【问题标题】:how to override local connection string with azure connection string如何用天蓝色连接字符串覆盖本地连接字符串
【发布时间】:2019-02-02 15:11:00
【问题描述】:

我在 .Net 核心项目中使用 appsettings.json 作为连接字符串。我的连接字符串是:

  "ConnectionStrings": {
    "OT_DB_Connection": "Data Source=108.***.**.**;Initial Catalog=O*******s;User ID=O*******s;Password=O*********$"
  },

在 startup.cs 中,我使用这样的键访问连接字符串

   options.UseSqlServer(Configuration.GetConnectionString("OT_DB_Connection"));

我在 azure 上部署了这段代码,并且在 azure 上有 sql 数据库。 部署后我的网站将如何使用 azure 的连接字符串? 如何在运行时用 azure 连接字符串覆盖本地连接字符串。

【问题讨论】:

  • 创建一个新帐户第二次询问your question 不是一个好主意。这可能会导致禁令。

标签: azure asp.net-core azure-sql-database


【解决方案1】:

您应该阅读以下文章:

Multiple Environment Configuration Files in ASP.NET Core

您可以拥有多个 appSettings,例如1 个用于本地环境,1 个用于 Azure 等。当您将应用程序发布到 Azure 时,您可以添加一个名为 ASPNETCORE_ENVIRONMENT 的应用程序设置,并添加一个映射到您的环境的值,以便您的应用程序获取正确的配置。如果您有 appSettings.Azure.json 文件,您可以将 ASPNETCORE_ENVIRONMENT 设置为 Azure,它将使用该配置文件。

如果您不想采用这种方法,您也可以直接在 Azure 中覆盖连接字符串,如下图所示。这可以在您的应用服务 -> 应用程序设置 -> 连接字符串下访问。您将需要覆盖 OT_DB_Connection。

【讨论】:

  • 感谢您的快速响应,但如何自动覆盖连接字符串?
  • 抱歉,不清楚您在问什么。请注意,如上所述,一旦您在 Azure 中覆盖了连接字符串,就无需再次执行此操作。
  • 我问的是你提到的第二种方法'你也可以直接在 Azure 中覆盖连接字符串,如下图所示'。这种技术是如何工作的?如果可以请详细说明这将是一个很大的帮助。
  • 我已经在我的回答中解释过了。转到 Azure 中的应用服务 -> 应用程序设置 -> 连接字符串。添加一个名为“OT_DB_Connection”的键,然后添加一个与要在 Azure 中使用的连接字符串相对应的值。图片显示了一切。
  • 这意味着不需要更改代码?
猜你喜欢
  • 2019-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多