欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

.NET?Core類庫項目中讀取appsettings.json配置的方法

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

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

1)先看丑陋的方法

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

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

需要在RedisClient 的構造函數參數中添加IConfiguration 接口,并通過它直接讀?。?/p>

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<IConfiguration>(Configuration);     
}

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

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

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

然后給RedisClient 的構造函數參數中添加IOptions<RedisOptions> 接口,通過IOptions<RedisOptions> 讀取配置,RedisClient 無需關心 appsettings.json :

public class RedisClient
{
    private readonly RedisOptions _redisOptions;

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

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

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

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

作為類庫的設計者,你可以更貼心些,寫個擴展方法進行上面的注入操作。

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

相關文章

  • ASP.NET MVC 4 捆綁和縮小實例介紹

    ASP.NET MVC 4 捆綁和縮小實例介紹

    在 ASP.NET MVC 4 中可捆綁多個 css 和 js 文件以減少HTTP請求,并對 css 和 js 文件進行壓縮(縮小),這樣可提高網站的加載速度
    2013-06-06
  • .NET使用.NET Core CLI開發(fā)應用程序

    .NET使用.NET Core CLI開發(fā)應用程序

    這篇文章主要為大家詳細介紹了.NET使用.NET Core CLI開發(fā)應用程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Asp.net中Microsoft.Identity的IPasswordHasher加密的默認實現與運用

    Asp.net中Microsoft.Identity的IPasswordHasher加密的默認實現與運用

    本文主要介紹了Microsoft.Identity的IPasswordHasher加密的默認實現與運用。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • asp.net中如何批量導出access某表內容到word文檔

    asp.net中如何批量導出access某表內容到word文檔

    最近有項目需求是這樣的,需要將某表中的每一條記錄中的某些內容導出在一個word文檔中。下面小編就把我的解決辦法分享給大家,供大家參考
    2015-10-10
  • .Net下的簽名與混淆圖文分析

    .Net下的簽名與混淆圖文分析

    任何時候,軟件安全與版權保護都是很重要的,特別是企業(yè)級開發(fā)或一些特殊應用方面。對.NET平臺下的開發(fā)如何做到安全,本文主要討論簽名與混淆和原理與思路。
    2009-02-02
  • Rx.NET庫中IDisposable對象的用法

    Rx.NET庫中IDisposable對象的用法

    這篇文章介紹了Rx.NET庫中IDisposable對象的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 詳解ASP.NET MVC之下拉框綁定四種方式

    詳解ASP.NET MVC之下拉框綁定四種方式

    這篇文章主要介紹了詳解ASP.NET MVC之下拉框綁定四種方式,詳細的講訴了4種方法,具有一定的參考價值,有需要的可以了解一下。
    2016-12-12
  • 用類的繼承關系(重寫父類的方法)實現簡易后臺代碼模板

    用類的繼承關系(重寫父類的方法)實現簡易后臺代碼模板

    Asp.net的優(yōu)勢就在于快速構建應用,而對于一些最基礎數據的增刪改以及分頁事件或者樣式的設定可以通過在父類中寫上虛方法來供子類調用,接下來將為您測試一下用子類重寫父類的方法實現在模板的基礎上衍生變化
    2013-01-01
  • asp.net實現多個文件同時下載功能

    asp.net實現多個文件同時下載功能

    這篇文章主要為大家詳細介紹了asp.net實現多個文件同時下載功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • C#抽象類的用法介紹

    C#抽象類的用法介紹

    這篇文章介紹了C#抽象類的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08

最新評論