Configuration 读取appsetting.json的数据
时间: 2024-05-10 17:14:19 浏览: 115
在 .NET Core 中,可以通过以下方式读取 appsettings.json 文件中的配置数据:
1. 首先,在项目根目录下创建一个名为 `appsettings.json` 的文件,并添加要读取的配置数据。例如:
```json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"AppSettings": {
"ApiKey": "123456"
}
}
```
2. 在 `Program.cs` 文件中,使用 `CreateDefaultBuilder` 方法来创建 `HostBuilder`:
```csharp
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
```
3. 在 `Startup.cs` 文件中,使用 `IConfiguration` 接口来读取配置数据。例如:
```csharp
public class Startup
{
private readonly IConfiguration _configuration;
public Startup(IConfiguration configuration)
{
_configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
string connectionString = _configuration.GetConnectionString("DefaultConnection");
string apiKey = _configuration.GetValue<string>("AppSettings:ApiKey");
// 将配置数据注册到 DI 容器中
services.AddSingleton(new MyConfigurations(connectionString, apiKey));
}
// ...
}
```
在上面的代码中,`IConfiguration` 接口的实例是通过构造函数依赖注入(Dependency Injection)的方式来获取的。然后,使用 `GetConnectionString` 方法来读取 `ConnectionStrings` 节点下的连接字符串,使用 `GetValue` 方法来读取 `AppSettings` 节点下的配置项。
最后,将读取的配置数据注册到 DI 容器中,以便在应用程序的其他地方使用。
阅读全文