我应该在哪里存储我的 ASP.NET 核心应用程序生产环境的连接字符串?

Where should I store the connection string for the production environment of my ASP.NET Core app?

当部署到 IIS 7(不是 Azure)时,生产和暂存连接字符串应该存储在 ASP.NET 核心应用程序中的什么位置?

我正在寻找推荐的方法/最佳实践,尤其是在安全方面。

在ASP.NET5中可以指定多个配置源。由于对以前模型的这种欢迎更改,您可以将开发连接字符串存储在简单的 json 文件中,并将暂存和生产连接字符串直接存储在各自服务器上的环境变量中。

如果您像这样配置您的应用程序:

var config = new Configuration()
.AddJsonFile("config.json")
.AddEnvironmentVariables();

并且config.json和环境变量中都有连接字符串,那么环境源将获胜。

因此,将您的开发连接字符串存储在 config.json(并在源代码管理中自由签入)并将生产连接字符串存储在环境变量中。更多信息 here and here.