.net core 实例化 appsettings.json 公共方法
时间: 2023-08-26 17:03:59 浏览: 101
.Net Core读取Json配置文件的实现示例
在 .NET Core 中,可以使用以下代码将 `appsettings.json` 文件中的配置信息实例化为一个对象:
首先,创建一个类来存储需要实例化的配置信息。例如,如果 `appsettings.json` 文件中有以下配置信息:
```json
{
"MyConfig": {
"MyValue1": "Value1",
"MyValue2": "Value2"
}
}
```
则可以创建以下类来存储这些配置信息:
```csharp
public class MyConfig
{
public string MyValue1 { get; set; }
public string MyValue2 { get; set; }
}
```
然后,在 `Program.cs` 文件中设置配置文件路径和名称:
```csharp
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.SetBasePath(Directory.GetCurrentDirectory());
config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
})
.UseStartup<Startup>();
```
最后,在需要实例化配置信息的地方,注入 `IConfiguration` 接口,并使用 `GetSection` 方法获取配置信息,然后使用 `Get<T>` 方法将配置信息实例化为一个对象:
```csharp
public class MyClass
{
private readonly IConfiguration _config;
private readonly MyConfig _myConfig;
public MyClass(IConfiguration config)
{
_config = config;
_myConfig = _config.GetSection("MyConfig").Get<MyConfig>();
}
public void MyMethod()
{
var value1 = _myConfig.MyValue1;
var value2 = _myConfig.MyValue2;
}
}
```
在上面的示例中,`MyClass` 类通过构造函数注入 `IConfiguration` 接口,然后使用 `GetSection` 方法获取 `appsettings.json` 文件中 `MyConfig` 节点下的配置信息,并使用 `Get<T>` 方法将其实例化为一个 `MyConfig` 对象。然后,可以通过访问该对象的属性来获取配置信息。
阅读全文