c# - 如何从 appsettings.json 文件中获取 ConnectionString?
问题描述
问题是如何从 ASP NET Core 3.1 应用程序中的 appsetting.json 文件中获取 ConnectionString?这是 appsettings.json 文件
"ConnectionStrings": {
"DefaultConnection": "data source=exmaple;initial catalog=example;persist security info=True;user id=example;password=example"
}
在示例中,所有参数都隐藏在名称示例后面
在 Program.cs 类中,我包含文件
static void ConfigureAppConfiguration(WebHostBuilderContext context, IConfigurationBuilder config, string[] args)
{
config
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{context.HostingEnvironment.EnvironmentName.ToLowerInvariant()}.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.AddCommandLine(args);
}
当我尝试在 Startup 类中获取连接字符串值时,我得到 null
public void ConfigureServices(IServiceCollection services)
{
var connetctionString = config.GetConnectionString("DefaultConnection");
...
}
为什么连接 == null ?
解决方案
除了上一个答案,您还可以在Startup.cs
您所做的方法中使用,因此它看起来如下:
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
var connectionString = Configuration.GetConnectionString("DefaultConnection");
}
另请注意,您不需要在Program.cs
. 您还可以使用Host.CreateDefaultBuilder
-method,它会自动添加文件。
推荐阅读
- c++ - 使用智能指针读取访问冲突
- sparql - Querying dbpedia, not getting expected result not sure what's the mistake
- javascript - Looping between colors in D3 Javascript
- r - 分层/嵌套引导方法
- android - Android Studio 3.1 同步失败,未解决的依赖项
- android - 无法通过 Volley 连接到本地主机
- r - 如何取消嵌套不规则的 JSON 数据
- oracle - 实现一个按函数值递增的序列
- java - Java Stream 收集方法
- flutter - Flutter - 是否可以在没有提供程序的情况下使用 BLoC?