原创 c#:語音播報(文本轉語音)

環境: window10 vs2019 16.5.5 .netframework4.5 一、關於語音播報 語音播報的功能屬於操作系統自帶的。win7和win10都自帶,部分win7閹割版系統沒有這項功能會導致運行報錯: 檢索

原创 c#: 協變和逆變深度解析

環境: window 10 .netcore 3.1 vs2019 16.5.1 一、爲什麼要有協變? 首先看下面的代碼: 還有下面的: 其實上面報錯的是同一個問題,就是你無法用List<Fruit>指向List<Appl

原创 手機端預覽pdf

環境: pdfjs-2.4.456 華爲nova2s 時間:2020-05-09 問題來源: 系統中需要提供pdf預覽的功能,在pc端可以使用瀏覽器直接打開,但在手機端瀏覽器不能直接打開、微信也不能直接打開!!! pdf.js

原创 .netcore入門26:asp.net core源碼分析之依賴注入

環境: .netcore 3.1 vs2019 16.5.1 一、依賴注入說明 依賴注入的概念這裏就不說了,隨便百度一大堆。在aspnetcore框架中,依賴注入是一個很基礎的東西,所以我們必須要很熟悉才行。但現在我們要講的依

原创 .netcore入門25:asp.net core源碼分析之配置模塊(IConfiguration)

環境: win10 vs2019.16.5.1 dnSpy v6.1.4 (.NET Core) ILSpy版本6.0.0.5559-preview2 參考: 官方文檔:ASP.NET Core 中的配置 一、.netcore

原创 .netcore入門23:aspnetcore通用主機之源碼分析

環境: window 10 .netcore 3.1 vs2019 16.5.1 參照: asp.net core 系列 17 通用主機 IHostBuilder .netcore入門22:使用dnSpy調試asp.net c

原创 .netcore入門24:aspnetcore源碼分析之在通用主機上配置web服務

環境: window 10 .netcore 3.1 vs2019 16.5.1 說明: 上一篇介紹到了aspnetcore中的通用主機,這個通用主機封裝了日誌、配置、依賴注入容器等資源,並且裏面包括了一些列的主機服務(IHo

原创 .netcore入門22:使用dnSpy調試asp.net core源碼

環境: window 10 vs2019 16.5.1 dnspy v6.1.4 .netcore3.1 參考: .Net反編譯技術詳解及4個反編譯工具介紹 一、關於dnSpy dnSpy是近幾年的新秀,功能遠比ILSpy強大

原创 c#: 使用CancellationTokenSource取消異步任務

環境: window 10 vs2019 16.5.1 .net core 3.1.1 參考: 任務Task系列之使用CancellationToken取消Task 注意: CancellationTokenSource只是一

原创 c#: 使用restsharp發送http請求、下載文件

環境: vs2019 16.5.1 aspnetcore 3.1.1 fiddler restsharp 106.10.1 說明: 要測試restsharp的功能,首先需要了解http傳參和下載上傳文件的原理,請參考: c#:

原创 base64編解碼原理及實現

原理參照:BASE64編碼簡介 一、概念及原理: BASE64是一種編碼方式,通常用於把二進制數據編碼爲可寫的字符形式的數據。這是一種可逆的編碼方式。編碼後的數據是一個字符串,其中包含的字符爲:A-Z、a-z、0-9、+、/ 共6

原创 c#:nancy框架下載文件(response.AsAttachment)

環境: .netframework4.6.1 nancy2.0.0 代碼如下: Get("/DownloadPdf", paras => { var filepath = "d:\\test.txt"; var fileInfo =

原创 c#多線程中的鎖、線程同步信號(lock、Monitor、Mutex、Semaphore、AutoResetEvent和ManualResetEvent)

環境: window 10 netcore 3.1.1 vs2019 16.4.3 目的: 探索c#中的鎖、同步信號原理及使用方法 一、lock關鍵字 如果說c#中的鎖,那麼首當其衝的就是lock關鍵字了。給lock關鍵字

原创 window註冊表操作手冊

環境: window 10企業版 .netcore 3.1 vs 2019 16.4.5 控制檯程序以管理員身份運行 參照: Windows註冊表內容詳解 C#操作註冊表 一、window註冊表簡介 註冊表知識點: 註冊

原创 .netcore入門16:aspnetcore之終結點路由工作原理

環境: .netcore 3.1.1.0 vs2019 16.4.5 試驗目的: 探索什麼是終結點路由,它和授權中間件、mvc是怎麼協作的? 結論: 先說下結論,“路由”模塊一前一後註冊了兩個中間件,第一個中間件匹配到了Con