暂存环境不会使用正确的连接字符串。
我有三个环境。发展,分期和发布。 我的appsettings看起来像这样:
{
"Data": {
"DefaultConnection": {
"ConnectionString": "My connection string"
}
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Verbose",
"System": "Information",
"Microsoft": "Information"
}
}
}
我还有两个文件名为appsettings.Staging.json& appsettings.Release.json。 在项目属性下,我制作了两个配置文件:Staging&发布女巫都有一个托管:环境,其中包括暂存中的值暂存和发布中的释放。它在VS中运行良好但是当我将其上传到Azure时,它总是采用我的localhost连接字符串而不是我的在线数据库的默认appsettings。 我究竟做错了什么?
答案 0 :(得分:2)
如果连接字符串在文本文件中包含敏感数据,则不应存储连接字符串,并且应该直接在Azure中设置值以供生产(或查看类似Key Vault之类的内容)以设置值。我建议您阅读https://docs.asp.net/en/latest/security/app-secrets.html和https://docs.asp.net/en/latest/fundamentals/configuration.html。
要解决从正确设置文件中读取值的问题,请参阅下文。
您需要在Azure中设置环境值。在Azure门户中,在您的WebApp上转到All Settings->Application Settings->AppSettings
并添加ASPNET_ENV
或Hosting:Environment
设置,其值为Staging
(或您感兴趣的任何其他环境。< / p>