您现在的位置是:网站首页> 编程资料编程资料
.NET Core类库项目中读取appsettings.json配置的方法_实用技巧_
2023-05-24
465人已围观
简介 .NET Core类库项目中读取appsettings.json配置的方法_实用技巧_
这是一位朋友问我的问题,写篇随笔回答一下。有2种方法,一种叫丑陋的方法 ——IConfiguration ,一种叫优雅的方法 —— IOptions 。
1)先看丑陋的方法
比如在RedisClient 中需要读取appsettings.json 中的 redis 连接字符串:
{ "redis": { "ConnectionString": "xxx" } }需要在RedisClient 的构造函数参数中添加IConfiguration 接口,并通过它直接读取:
public class RedisClient { private readonly string _connectionString; public RedisClient(IConfiguration configuration) { _connectionString = configuration.GetSection("redis")["ConnectionString"]; } }然后在 Startup 的ConfigureServices() 方法中进行注入:
public IConfigurationRoot Configuration { get; } public void ConfigureServices(IServiceCollection services) { services.AddSingleton(Configuration); } 2)接着看优雅的方法
首先定义一个存放连接字符串的配置类 RedisOptions :
public class RedisOptions { public string ConnectionString { get; set; } }然后给RedisClient 的构造函数参数中添加IOptions
public class RedisClient { private readonly RedisOptions _redisOptions; public RedisClient(IOptions redisOptions) { _redisOptions = redisOptions.Value; } } 而 appsettings.json 中的配置可以在 Startup 的ConfigureServices() 中注入进去:
services.AddOptions(); services.Configure(Configuration.GetSection("redis"));
(注:使用上面的 Configure 方法需要安装 nuget 包Microsoft.Extensions.Options.ConfigurationExtensions )
作为类库的设计者,你可以更贴心些,写个扩展方法进行上面的注入操作。
到此这篇关于.NET Core类库项目中如何读取appsettings.json中的配置的文章就介绍到这了,更多相关.NET Core读取appsettings.json配置内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- .NET中堆栈和堆的特点与差异介绍_实用技巧_
- .NET异步编程模式的三种类型介绍_实用技巧_
- ASP.NET Core项目中调用WebService的方法_实用技巧_
- WPF实现文本描边+外发光效果的示例代码_实用技巧_
- 使用Supervisor守护ASP.NET Core应用程序进程_实用技巧_
- 部署ASP.NET Core程序到Linux系统_基础应用_
- 部署ASP.NET Core程序到Windows系统_基础应用_
- 详解如何创建一个.NET Core工程_实用技巧_
- LazyCaptcha自定义随机验证码和字体的示例详解_实用技巧_
- asp.net Core中同名服务注册的实现代码_实用技巧_
