我正在使用aspnetcore中的SecretManager工具在开发期间存储连接字符串,以使其不受源代码控制。
这很好用。
但现在我想将应用程序发布到Azure。发布时,appsettings.json中没有连接字符串,因此应用程序无法连接到数据库。
那么我应该如何包含连接字符串?
如果我简单地将它添加到appsettings.json,它是否会破坏使用秘密管理器的全部目的?现在,我已将用户名和密码放入受源代码管理的文档中。
我有什么遗失的吗?我应该FTP到网站并将其添加到那里吗?
答案 0 :(得分:4)
您应该将其置于Azure网站设置中。这是首选方法。
如果你的json看起来像这样:
{
"ConnectionStrings": {
"Context": "Server=(localdb)\\mssqllocaldb;Database=local-dev;Trusted_Connection=True"
}
}
您创建一个名为Context
的连接字符串(或者使用键ConnectionStrings:Context
的设置)并在应用应用程序设置页面中输入您的连接字符串:
请确保您在启动中使用环境变量:
var builder = new ConfigurationBuilder()
.AddEnvironmentVariables();