.net 6 中如何在Program.cs中获取appsettings.json中的配置属性
时间: 2024-09-19 17:13:16 浏览: 38
如何在Asp.net core 6 的 Program.cs 中读取 appsettings.json
在.NET 6中,获取`appsettings.json`中的配置属性通常在`Program.cs`的`Main`方法内通过`IConfiguration`接口来完成。`IConfiguration`是Microsoft.Extensions.Configuration库的一部分,它提供了一种统一的方式来访问应用程序的各种配置源,包括JSON文件。
以下是基本步骤:
1. 首先,你需要添加对`Microsoft.Extensions.Configuration.Json`命名空间的引用,并在`Program.cs`顶部初始化`IConfigurationBuilder`和`IConfiguration`:
```csharp
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
public static IHost CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseConfiguration(ConfigurationBuilder.Build());
```
2. 然后,在`ConfigureServices`方法中添加`AddJsonFile`选项,指定`appsettings.json`的位置:
```csharp
.UseConfiguration(
ConfigurationBuilder
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
);
```
3. 最后,在`Configure`方法中,你可以使用`IConfiguration`来获取配置属性,例如:
```csharp
public static void Main(string[] args)
{
var host = CreateHostBuilder(args).Build();
string apiUrl = host.Services.GetRequiredService<IConfiguration>().GetSection("AppSettings:Api").Value; // 假设有 "AppSettings:Api" 这个键
host.Run();
}
```
这将会返回`appsettings.json`中名为"AppSettings:Api"的那一项值。
阅读全文