原创 c#使用Http上傳下載文件

環境: .net core 3.1.1 vs2019 16.5.0 一、概念說明: 上傳 在http協議中,上傳文件需要使用post方法、content-type使用:multipart/form-data; boundar

原创 c#: 四種定時器

環境: window 10 vs2016 16.5.1 .netcore 3.1.1 實驗目的: 實驗c#中的多線程定時器和單線程定時器 參照: 深入淺出多線程系列之七:4種定時器 在Framework中存在着4種定時器:其中

原创 c#: 線程異常捕捉

環境: window 10 vs2019 16.5.1 .net framework 4.5 參照: 線程(thread) 先說結論: 在線程創建時任何生效的try/catch/finally語句塊在線程開始執行後都與線程無關

原创 redis入門(10): redis管道技術

試驗環境: centos7.6x64位,CentOS-7-x86_64-Minimal-1810.iso 百度網盤下載地址:https://pan.baidu.com/s/1ckjQS_DGuI-7GGvmvhLNKQ 提取碼

原创 c#線程本地存儲數據

環境: window 10 .netcore 3.1.1 vs 16.4.5 說明: 要達到的效果是,每一個線程都有一個單獨的容器用來存儲數據。實現的方法有三種:線程內的數據槽、ThreadStatic特性、ThreadLoc

原创 c#壓縮和解壓縮文件

環境: window 10 .netcore 3.1.1 .netframework 4.5 vs2019 16.5.0 第一步:引入nuget包:SharpZipLib 第二步:編寫幫助類ZipHelper using I

原创 c#:從http請求報文看http協議中參數傳遞的幾種方式

環境: vs2019 16.5.1 asp.net core 3.1.1 Postman v7.14.0 一、在url中傳遞數據 這種方式適用於get/post方法,也是一種最簡單、最直觀的參數傳遞方式,不過由於過於直觀(數據

原创 c#中Debug和Release的區別實驗

環境: window 10 vs 2019 16.4.5 .netcore 3.1.1 參照: 項目發佈Debug和Release版的區別 享受release版本發佈的好處的同時也應該警惕release可能給你引入一些莫名其妙

原创 c#多線程同步之臨界區(lock、Monitor、ReadWriterLock)/互斥量(Mute)/信號量(Semapho)/事件(AutoResetEvent、ManualResetEvent)

環境: window 10 netcore 3.1.1 vs2019 16.4.3 目的: 探索c#中的臨界區、互斥量、信號量和事件的特點和使用方法 一、概念介紹 參照: 臨界區,互斥量,信號量,事件的區別 Visual

原创 .netcore入門24:asp.net core源碼分析之Startup調用時機

環境: window 10 .netcore 3.1 vs2019 16.5.1 dnspy v6.1.4 說明: 上一篇介紹到了asp.net core中的通用主機,這個通用主機封裝了日誌、配置、依賴容器等資源,並且裏面包括

原创 .netcore入門18:aspnetcore分佈式緩存(分佈式內存、sqlserver、redis)

環境: aspnetcore 3.1.1 vs2019 16.4.5 .netcore的本地緩存請參考:.net core中使用緩存之MemoryCache(本機內存) 一、分佈式緩存介紹 分佈式的緩存由多個應用程序服務器共享

原创 c#:表達式樹概念及應用場景(Expression)

環境: window 10 vs2019 16.5.1 .netcore 3.1 .Net Reflector 10 ILSpy版本6.0.0.5559-preview2 參考: 表達式樹 Expression 核心操作符、

原创 c#:線程、線程池和Task關係

環境: window10 vs2019.16.5.1 .netcore 3.1.1 線程: Thread,由CLR提供,可以提供細粒度的線程控制,但是在返回值、多個線程並行/串行時候顯得功能不足,需要進一步封裝纔行,而且線程的

原创 一個通用數據庫操作組件DBUtil(c#)、支持SqlServer、Oracle、Mysql、postgres、Access、SQLITE

DBUtil 使用說明 源碼(.net framework):https://github.com/jackletter/DBUtil 源碼(.net standard):https://github.com/jackletter/DBU

原创 c#:使用網易郵箱賬號發送電子郵件

環境: window10 vs2019 16.5.5 .netcore 3.1 .netframework 4.5 控制檯程序 一、準備網易郵箱賬號 1.1 註冊賬戶 1.2 開啓smtp服務 二、編寫代碼 u