亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

.NET?Core類庫項(xiàng)目中讀取appsettings.json配置的方法

 更新時(shí)間:2022年03月22日 10:20:04   作者:dudu  
ASP.NET?Core是一個(gè)全新的Web開發(fā)平臺,微軟在它上面構(gòu)建了MVC、SingalR、GRPC、Orleans這樣廣泛使用的Web框架,今天通過本文給大家詳細(xì)介紹下.NET?Core讀取appsettings.json配置的方法,感興趣的朋友一起看看吧

這是一位朋友問我的問題,寫篇隨筆回答一下。有2種方法,一種叫丑陋的方法 ——IConfiguration ,一種叫優(yōu)雅的方法 —— IOptions 。

1)先看丑陋的方法

比如在RedisClient 中需要讀取appsettings.json 中的 redis 連接字符串:

{
  "redis": {
    "ConnectionString": "xxx"
  }
}

需要在RedisClient 的構(gòu)造函數(shù)參數(shù)中添加IConfiguration 接口,并通過它直接讀取:

public class RedisClient
{
    private readonly string _connectionString;

    public RedisClient(IConfiguration configuration)
    {
        _connectionString = configuration.GetSection("redis")["ConnectionString"];
    }
}

然后在 Startup 的ConfigureServices() 方法中進(jìn)行注入:

public IConfigurationRoot Configuration { get; }

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<IConfiguration>(Configuration);     
}

2)接著看優(yōu)雅的方法

首先定義一個(gè)存放連接字符串的配置類 RedisOptions :

public class RedisOptions
{
    public string ConnectionString { get; set; }
}

然后給RedisClient 的構(gòu)造函數(shù)參數(shù)中添加IOptions<RedisOptions> 接口,通過IOptions<RedisOptions> 讀取配置,RedisClient 無需關(guān)心 appsettings.json :

public class RedisClient
{
    private readonly RedisOptions _redisOptions;

    public RedisClient(IOptions<RedisOptions> redisOptions)
    {
        _redisOptions = redisOptions.Value;
    }
}

而 appsettings.json 中的配置可以在 Startup 的ConfigureServices() 中注入進(jìn)去:

services.AddOptions();
services.Configure<RedisOptions>(Configuration.GetSection("redis"));

(注:使用上面的 Configure 方法需要安裝 nuget 包Microsoft.Extensions.Options.ConfigurationExtensions )

作為類庫的設(shè)計(jì)者,你可以更貼心些,寫個(gè)擴(kuò)展方法進(jìn)行上面的注入操作。

到此這篇關(guān)于.NET Core類庫項(xiàng)目中如何讀取appsettings.json中的配置的文章就介紹到這了,更多相關(guān).NET Core讀取appsettings.json配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論