在我的.net Framework项目中,我希望在app.config中包含以下内容
<connectionStrings configSource="connections.config" />
具有包含类似
之类的connections.config <connectionStrings>
<add name="ApplicationDatabase" providerName="System.Data.SqlClient" connectionString="Server=.\SQLEXPRESS;Database=mydatabase;User Id=myuser; PWD=mypassword;" />
</connectionStrings>
然后我不将connections.config签入源代码中。
我想对.NET Core使用类似的技巧,但它利用了appsettings.json
通过
services.AddDbContext<ApiDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("MyDatabase")));
我该如何进行?
答案 0 :(得分:2)
您可以创建一个单独的JSON文件(或XML或任何配置提供程序),并在应用程序启动时加载该文件:
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration(builder =>
{
builder.AddJsonFile("connectionstrings.json", optional: true);
})
查看the docs中所有受支持的配置提供程序。
答案 1 :(得分:1)
对于那些想要保护连接字符串(或任何其他敏感值)时遇到类似情况的人,只需使用User Secrets。在Visual Studio(于2019年测试)中,右键单击项目,然后单击“管理用户密码”将打开secrets.json
文件,该文件是隐藏文件。可以在这里输入键/值,就像appsettings.json文件一样。