2016-03-16 25 views
0

暫存環境不採用正確的連接字符串。暫存環境不採用正確的連接字符串Asp.Net核心

我有三種環境。開發,分期&發佈。 我的AppSettings看起來像這樣:

{ 
"Data": { 
    "DefaultConnection": { 
    "ConnectionString": "My connection string" 
} 
}, 
"Logging": { 
    "IncludeScopes": false, 
    "LogLevel": { 
    "Default": "Verbose", 
    "System": "Information", 
    "Microsoft": "Information" 
    } 
} 
} 

我有名字appsettings.Staging.json & appsettings.Release.json兩個文件。 在項目屬性下,我製作了兩個配置文件:分段&發佈女巫都有一個Hosting:Environment,在分段中使用Value Staging進行發佈。它在VS中工作正常,但是當我將它上傳到Azure時,它始終使用我的本地主機連接字符串而不是我的在線數據庫的默認appsettings。 我在做什麼錯?

回答

1

如果文本文件中包含敏感數據,則應該不會存儲連接字符串,並且應該直接在Azure中爲AppSettings設置生產值(或查看諸如Key Vault之類的值)以設置值。我會推薦閱讀https://docs.asp.net/en/latest/security/app-secrets.htmlhttps://docs.asp.net/en/latest/fundamentals/configuration.html

解決從正確設置文件中讀取值的問題,請參見下文。

您需要在Azure中設置環境值。在Azure的門戶網站,在你的Web應用程序去All Settings->Application Settings->AppSettings並添加設置ASPNET_ENVHosting:EnvironmentStaging值(或任何其他環境中,您有興趣

對於閱讀appsettings.Staging.json文件,你會做這樣的事情: set staging environment