是否为appsettings.json的连接字符串引用了单独的文件?

时间:2018-09-10 01:28:22

标签: json asp.net-core

在我的.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")));

我该如何进行?

2 个答案:

答案 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文件一样。