2017-08-09 75 views
0

我正在使用aspnetcore中的SecretManager工具在開發過程中存儲連接字符串以使其不受源代碼管理。將appsettings.json安全地發佈到Azure

這工作得很好。

但現在我想將應用發佈到Azure。發佈時,appsettings.json中沒有連接字符串,因此應用程序無法連接到數據庫。

那麼我應該如何包含連接字符串呢?

如果我簡單地將它添加到appsettings.json,它是否不會破壞使用祕密管理器的整個目的?就像現在我已經把一個用戶名和密碼放在一個源代碼管理的文檔中。

有什麼我失蹤?我是否應該FTP到該網站並將其添加到該網站?

+4

[設置SQL連接字符串在Azure的核心ASP.NET Web應用程序]的可能的複製(https://stackoverflow.com/questions/31097933/setting-the-sql-connection-string-for-asp -net-5-web-app-in-azure) – Set

回答

3

你應該把它放在Azure站點設置中。這是首選的方法。

如果你的JSON看起來是這樣的:

{ 
    "ConnectionStrings": { 
    "Context": "Server=(localdb)\\mssqllocaldb;Database=local-dev;Trusted_Connection=True" 
    } 
} 

您創建一個名爲Context(或者一個用鑰匙ConnectionStrings:Context設置)的連接字符串,並在應用中輸入您的連接字符串應用程序設置頁面: Azure Site Settings - Connection Strings

只要確保在啓動時使用環境變量:

var builder = new ConfigurationBuilder() 
.AddEnvironmentVariables(); 
+0

工程很棒。非常感謝。 –