C#通用公共類庫ZXNetStandardDepot.Common

来源:https://www.cnblogs.com/lastcode/archive/2019/08/10/11332136.html
-Advertisement-
Play Games

總結了一下寫項目中遇到的各種方法,總結前輩們的經驗,生成了該類庫,引用net standard類庫,支持net core/net framework. 使用方法 1、nuget 搜索 ZXNetStandardDepot.Common 2、方法說明 2.1 封裝了讀取net core appsett ...


 

總結了一下寫項目中遇到的各種方法,總結前輩們的經驗,生成了該類庫,引用net standard類庫,支持net core/net framework.

使用方法

1、nuget 搜索 ZXNetStandardDepot.Common

2、方法說明

2.1 封裝了讀取net core appsettings文件信息的方法

        net core api/mvc 項目需要在Startup中依賴註入

       

        該行代碼會讀取appsettings.json文件下的key Appsettings

        

        之後,在controller或者bll 等業務層直接讀取需要的配置即可,讀取方法:

        var a = AppSettings.AppSetting("HomeUrl");

        如果需要讀取多級嵌套的json,則使用冒號分隔多級

       var a = AppSettings.AppSetting("ConnectionStrings:MasterDb");

        如果是net core 控制台引用,因為控制台沒有自動實現依賴註入,需要手動實現

       實現方式如下,需要手動引入如下包:

       

  

Microsoft.Extensions.Configuration 、
Microsoft.Extensions.Configuration.FileExtensions 、
Microsoft.Extensions.Configuration.Json、

Microsoft.Extensions.DependencyInjection、
Microsoft.Extensions.Options、
Microsoft.Extensions.Options.ConfigurationExtensions、

 

 

 

       

var conf = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json", false, true)
            .AddJsonFile("appsettings.Development.json", true, true)
            .Build();
            //註入
            IServiceCollection services = new ServiceCollection();
            services.AddOptions();
            AppSettings.SetAppSetting(conf.GetSection("Appsettings"));
            var a = AppSettings.AppSetting("HomeUrl");

 2.2 封裝類型轉換工具

        代碼中經常會遇到 string與int ,等其他類型的基本轉換,try,Convrt 都需要手動處理異常。

        而該類庫,則進一步封裝

        

//格式轉換
string a = "123";
int b = a.ToInt();//強制轉換,如果字元串為null或者空,則int類型預設為0
int? c =a.ToIntOrNull();//可空轉換,如果字元串為null或者空,則int類型預設為null

 

 

 

項目將會持續完善,敬請期待

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 快速排序:在一組數據中,可以將左邊的數字當作樞軸(右邊也可以),接下來要做的就是,先從右邊找到比樞軸小的數, 再從左邊找到比樞軸大的數,接著將這兩個數進行交換,重覆上述步驟找出所有符合條件的數進行交換, 最後將樞軸放到比樞軸大的數與比樞軸小的數之間。之所以要從右邊開始找,並且找到比樞軸小的數是因為交 ...
  • 原題 | Generating a PEG Parser 作者 | Guido van Rossum(Python之父) 譯者 | 豌豆花下貓(“Python貓”公眾號作者) 聲明 | 本翻譯是出於交流學習的目的,基於 "CC BY NC SA 4.0" 授權協議。為便於閱讀,內容略有改動。 首發地 ...
  • 更新一篇知識星球裡面的源碼分析文章,去年寫的,周末自己錄了個視頻,大家看下效果好嗎?如果好的話,後面補錄發在知識星球裡面的其他源碼解析文章。 前言 之前自己本地 clone 了 Flink 的源碼,編譯過,然後 share 到了 GitHub 上去了,自己也寫了一些源碼的中文註釋,並且 push 到 ...
  • debug #排除程式故障 print()函數常和#號註釋結合在一起用來debug 多行註釋有兩種快捷操作:1、在需要註釋的多行代碼塊前後加一組三引號''' 2、選中代碼後使用快捷鍵操作:Windows快捷鍵是ctrl+/,Mac為cmd+/,適用於本地編輯器) 一種異常處理的機制,可以在異常出現時 ...
  • 一、補碼簡介 1.電腦中的符號數有三種表示方式,即為:原碼、反碼、補碼。三種表示方法均有符號位和數值位,符號位都是0表示正數,符號位都是1表示負數。 2.電腦中的數字的存儲方式:在電腦系統中,數值一律用補碼來表示和存儲,原因在於:使用補碼可以將符號位和數值域統一處理,同時,加法和減法可以統一處 ...
  • 1.JMS即Java消息服務,是Java平臺中面向消息中間件的API,用於在兩個應用程式之間,或分散式系統中發送消息,進行非同步通信。 2.JMS分為兩種,點對點消息模型 和發佈/訂閱消息模型 3.由六個模塊組成 連接工廠ConnectFactory 消息隊列的連接Connect 用於連接的對話Ses ...
  • 非同步流(AsyncStream) 原文地址: "https://github.com/dotnet/roslyn/blob/master/docs/features/async streams.md" 註意:以下內容最好能根據反編譯工具查看非同步流相關類生成的代碼效果最佳 非同步流是可枚舉類(Enume ...
  • 前言: 你曾經需要應用執行一個任務嗎?比如現在有一個需求,需要每天在零點定時執行一些操作,那應該怎樣操作呢? 這個時候,如果你和你的團隊是用.NET編程的話,可以考慮使用Quartz.NET調度器。允許開發人員根據日期間隔來實現任務調度任務。非常適合在平時的工作中,定時輪詢資料庫同步,定時郵件通知, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...