【问题标题】:How set up connection to database - ASP.NET Core hosted on Azure如何设置与数据库的连接 - Azure 上托管的 ASP.NET Core
【发布时间】:2017-12-12 08:23:01
【问题描述】:

这是我从 Azure 门户复制的连接字符串:

Server=tcp:xxxxxxxxxxx.database.windows.net,9999;Initial Catalog=DbNameDB;Persist Security Info=False;User ID={my_username};Password={my_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30; 


这是我的 appsettings.json 文件:

{ 
    "Logging": { 
        "LogLevel": { 
            "Default": "Warning" 
        } 
    }, 
    "ConnectionStrings": { 
        "DefaultConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=HeroesDB;Integrated Security=True;MultipleActiveResultSets=True" 
    } 
} 


现在我希望我的应用在生产服务器上运行,我该如何设置它?


我应该...

  1. ...在我的项目中创建一个 appsettings.production.json 文件(在我的 appsettings.json 文件旁边)并将其 DefaultConnectionString 设置为 Azure 服务器的连接字符串?如果我这样做了,Azure 会自动知道要使用这两个文件中的哪一个吗?
  2. ...将我原来的 appsettings.json 文件的连接字符串更改为 Azure 服务器连接字符串?
  3. ...寻找完全不同的解决方案?如果是,你有什么建议?


我倾向于解决方案 1.,但我想确定一下。

【问题讨论】:

标签: azure asp.net-core


【解决方案1】:

一般来说,appsettings.json 是主要的设置文件,即生产文件,如果你愿意的话。在其他子文件(例如 appsettings.development.json)中找不到的所有设置均取自此 appsettings.json。

所以它应该是相反的:你的 appsettings.json 应该包含你的生产连接字符串,而 appsettings.development.json 应该是你本地开发数据库的连接字符串。

现在如何选择正确的设置文件。关键是 ASPNETCORE_ENVIRONMENT 设置。如果未设置,则会自动选择 appsettings.json。如果已设置,应用会查找 appsettings.{environment}.json 文件。

如果您的应用在 Azure 门户中运行,您可以在已部署的 Web 应用的设置中设置环境。在本地(我假设您使用 Visual Studio)有一个 launchSettings.json 文件,位于解决方案资源管理器中项目的 Properties 文件夹下。在那里,您可以使用正确的环境创建本地启动配置,例如:

"my-local": {
      "commandName": "Project",
      "launchBrowser": false,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      },
      "applicationUrl": "https://localhost:5003/"
    }

这将在 VS 的“播放”按钮的下拉菜单中创建一个“我的本地”启动选项。如果您选择“我的本地”,它将选择此设置,从中选择“开发”环境,并从中获取 appsettings.Development.json 并从那里获取您的连接字符串。

我希望你的问题是正确的。再次总结一下,在本地使用为 appsettings.development.json 和本地 DB 配置的环境。部署到 Azure,它将获取正常的 appsettings.json 文件并针对生产数据库运行。

【讨论】:

    【解决方案2】:

    在您的 Azure 门户中,转到您的应用,然后在“设置”下找到“配置”。

    在配置中,可以添加连接字符串。这将覆盖您的 json 文件的连接字符串,前提是它具有相同的名称。

    【讨论】:

      猜你喜欢
      • 2019-03-28
      • 2011-09-11
      • 2017-12-14
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      • 2021-12-24
      相关资源
      最近更新 更多