<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      .NET Core 資料精選:入門篇

       

          開源跨平臺的.NET Core,還沒上車的趕緊的,來不及解釋了……

          本系列文章,主要分享一些.NET Core比較優秀的社區資料和微軟官方資料。我進行了知識點歸類,讓大家可以更清晰的學習.NET Core

      首先感謝資料原作者的貢獻。

      第一篇:.NET Core 資料精選:入門篇

      介紹.NET歷史、開源之路、基礎、路由、依賴注入DI、HttpContextcookie|sessionHttpClientgRPC、軟件測試、發布部署等等。

      第二篇:.NET Core 資料精選:進階篇

      介紹.NET工程化、AOP、異常處理、緩存、日志、響應優化、上傳下載、健康檢查、后臺任務、認證和授權、安全性(HttpsCORSCSRF)、EF Core 等等

      第三篇:.NET Core 資料精選:架構篇

      介紹.NET跨平臺的包袱與演變、.NET運行機制、性能分析方案;架構相關知識(設計原則、設計模式、DDD、微服務、中臺等);.NET相關的微服務開發框架、微服務技術、云原生(docker、k8s)等

       

      推薦資料:

      .NET開源github資源匯總(awesome-dotnet-core)

      .NET學習路線

      .NET在線源碼查詢

      .NET中文官方博客

      .NET Blog官方博客

      在線的.NET源碼查詢網站     

      .NET Fiddle:在線.NET代碼編輯工具

       

      這是第一篇,知識點如圖:

                 

       

      .NET 簡介

      #.NET 開源之路

      .NET Core Roadmap

      image

        長期支持 LTS(Long-term Support)是怎樣的一種支持方式

              微軟對 .NET Core 的長期支持策略有兩種支持的時長:
              #、某個 release 版本發布之后三年;
              #、后續替代此 release 的另一個新的 release 發布之后一年

             非 LTS 版可以獲得至少 18 個月的補丁更新和免費支持。

      C# 語言版本發展史

      .NET很好,你可能對它有一些誤解(跨平臺,性能)

      認識.NET Core(結構體系、特點、構成體系、編譯器等)

      2014.11月 .NET Core 項目啟動,2016.06月 .NET Core 1.0 發布

      .NET Core 3.0 新特性:支持 Windows 桌面應用(windows only)

      image

      .NET Core 3.0 下一個版本命名為:.NET 5

       微軟將此新版本命名為.NET 5.0而不是.NET Core 4.0的原因有兩個:

      #、跳過版本號4.x,以避免與.NET Framework 4.x混淆。

      #、從名稱中刪除了“ Core”,以強調這是.NET未來的主要實現。與.NET Core或.NET Framework相比,.NET 5.0支持更多類型的應用程序和平臺。 

      ASP.NET Core 5.0基于.NET 5.0,但保留名稱“ Core”以避免將其與ASP.NET MVC 5混淆。同樣,Entity Framework Core 5.0保留名稱“ Core”以避免將其與Entity Framework 5和6混淆。 

      值得注意的是,.NET 5并沒有計劃支持ASP.NET Web Form和Windows工作流(WF),因此.NET 5并不能完全代替.NET Framework。(更多 .NET5 功能) 

      微軟停止更新 .NET Standard,.NET 5 取而代之

      #、用于在 .NET Framework 和所有其他平臺之間共享代碼,使用 netstandard2.0
      #、用于在 Mono,Xamarin 和 .NET Core 3.x 之間共享代碼,使用 netstandard2.1
      #、向后共享代碼,使用net5.0

       .NET8-Ubuntu還是Debian

       

      #.NET Core提供的特性

      1.免費和最寬松的開源協議

      .NET Core從屬于.NET基金會,由微軟進行官方支持。使用最寬松的MIT和Apache 2開源協議,文檔協議遵循CC-BY。這將允許任何人任何組織和企業任意處置,包括使用,復制,修改,合并,發表,分發,再授權,或者銷售。唯一的限制是,軟件中必須包含上述版權和許可提示,后者協議將會除了為用戶提供版權許可之外,還有專利許可,并且授權是免費,無排他性的(任何個人和企業都能獲得授權)并且永久不可撤銷,用戶使用.NET Core完全不用擔心收費問題,你可以很自由的部署在任何地方.

      2.輕量級、跨平臺

      3.組件化、模塊化、IOC+Nuget、中間件

      4.高性能

      5.統一了MVCWebAPI編程模型

      a)  比如:ASP.NET Core MVC Web API 直接或間接繼承同一個基類 ControllerBase,提供可使用的API也一致化

      b)  比如:舊ASP.NET時代,寫全局filter需要針對MVC Web API 分別編寫代碼,但在ASP.NET Core,直接使用一套中間件代碼即可

      6.可測試性

      7.微服務、容器化支持

      8.標準化 .NET API 規范- .NET STANDARD

       

      #、遷移到.NET Core

      目前市面上還存在很多傳統 .NET 舊項目,我們需要根據公司情況決定是否升級到.NET Core

      如果需要進行舊項目升級的,可以參考文章:《.NET項目遷移到.NET Core操作指南

      .NET微服務系統從.NET2.0遷移至.NET6.0的性能提升(圖示)

       

      VS.NET Core安裝

      Vistual Studio

        VS2019安裝教學

        VS2019正式版注冊碼秘鑰

           修改nuget包默認存放路徑,避免C盤膨脹

        Visual Studio 中使用Libman管理客戶端庫

        把.net Core 項目遷移到VS2019 for MAC(無需改一行代碼)

           查看vs支持的c#語言版本/查看.NetCore版本

        VS 使用技巧

          幾個超級實用但很少人知道的 VS 技巧

      源碼調試(如調試abp源碼)

      .Net、C# 逆向反編譯四大工具利器(dnSPY、ILSPY、Net Reflector、doPeek)

      .net core 如何源代碼調試和查看源碼

      使用 Visual Studio 調試時的外部源代碼功能 

      Visual Studio 構建時將 NuGet 的 PDB 符號文件拷貝到輸出文件夾(在debug時,有pdb文件的會出現在vs的外部源代碼處)

      【譯】通過自動反編譯和外部源提升調試 

      防止反編譯

      .NET應用如何防止被反編譯

      VS Code 開發.NET Core

      使用VS Code 開發.NET CORE 程序指南

      完整構建VSCode開發調試環境

      .NET Core SDK

      安裝 .NET Core Runtime 和.NET Core SDK

      使用 Windows 包管理器 (winget) 安裝 .Net

      智能提示漢化

      如何為.NETCore安裝漢化包智能感知

      使用工具 .Net IDE 增加智能提示漢化(islocalizer)

      在 Linux 上安裝 .NET

      如何刪除 .NET Core 過時的運行時和 SDK (dotnet-core-uninstall) 

      指定.NET版本

      指定要使用的 .NET Core 版本

      Dotnet Core使用特定的SDK&Runtime版本(global.json)

      【微軟官方文檔】ASP.NET Core *.* 各版本新特性

      使用 Visual Studio 2019 批量添加代碼文件頭

      智能補全

      配置構造函數參數智能補全,私有變量下劃線開頭

       

      基礎

      術語:

        程序員需要知道的縮寫和專業名詞

        后端開發術語大全

        一文讀懂QPS、TPS、PV、UV、GMV、IP、RPS

      C# 控制臺設置

      ASP.NET Core開發者路線指南

      微軟官方 asp.net core 教程文檔(入口)

      .NET Core 命令行接口 (CLI) 工具

        使用cmd命令行(.NET Core CLI)來啟動ASP.NET Core 應用程序的多個實例

      .NET Core 運行程序注意事項(dotnet dll 與 dotnet run)

      core api 支持情況

      ASP.NET Core API 一覽表

      查詢 NET API 及類庫在各版本中實現情況

      ASP.NET Core 項目目錄結構介紹

      ASP.NET Core 端口配置

      .NET Core項目解讀launchSettings.json(啟動文件)

      ASP.NET Core啟動地址配置方法及優先級順序

      如何獲取 ASP.NET Core 當前啟動地址?

      .NET Core 應用啟動

      ASP.NET Core 中的Startup類

      ASP.NET Core 中 Startup 區分多個環境(IWebHostEnvironment)

      ASP.NET Core 2.0 服務是如何加載并運行的, Kestrel、配置與環境

      [視頻]基于Webhost分析netcore啟動原理

      ASP.NET Core 中使用多個環境(開發、預發布、生產)- 調試默認為:Development;發布后默認為 Production

      發布 asp.net core 時如何修改 ASPNETCORE_ENVIRONMENT 環境變量

      ASP.NET Core 返回類型ActionResult|ActionResult<T>|Dto

        ASP.NET Core 動作結果(ActionResult)

        ASP.NET Core 中控制器操作的多路徑返回類型(IActionResult)

        ASP.NET Core中的Action的返回值類型

      序列化

      .NET 的System.Text.Json

      C#常見的文件路徑Api(運行路徑BaseDirectory、啟動路徑CurrentDirectory、程序集路徑)

      C# 8.0中的可空引用類型

      引用類型本來不就是可以為空(null)的么,為啥還要特別地引入“可空引用類型”的概念呢?其實這是從編譯器的角度要求開發人員在編程的時候就考慮某個變量是否有可能為空,從而盡可能地減少由空引用所帶來的代碼錯誤。

      C# 8.0中“可空引用類型(Nullable reference type)”語言特性

      C# 8 新特性 - 可空引用類型

      .NET Core 跨域原理,允許跨域設置,緩存預檢請求

      .NET 8 的 IHostedLifecycleService:允許在服務開始、結束之前和之后添加自定義的處理邏輯

      你真的知道嗎?catch、finally和return哪個先執行

      .NET中有多少種定時器

      C# 字符串拼接演進全解析 : 讓你的代碼更優化

       

      配置

      ASP.NET Core 中的配置(dotnet run變量、json、xml、環境變量、內存變量等)

      ASP.NET Core Configuration 配置優先級詳解  (程序獲取配置優先級依次為:appsettings.json -> appsettings.環境.json -> 環境變量 -> 命令行參數。 同名覆蓋)

      在 .NET Core 中使用 ViewConfig 中間件調試配置

      ASP.NET Core 中的選項模式

      ASP.NET Core 中IOptions、IOptionsMonitor以及IOptionsSnapshot

      IOptions<>是單例,因此一旦生成了,除非通過代碼的方式更改,它的值是不會更新的。
      IOptionsMonitor<>也是單例,但是它通過IOptionsChangeTokenSource<> 能夠和配置文件一起更新,也能通過代碼的方式更改值。
      IOptionsSnapshot<>是范圍,所以在配置文件更新的下一次訪問,它的值會更新,但是它不能跨范圍通過代碼的方式更改值,只能在當前范圍(請求)內有效。

      ASP.NET Core 中修改配置不重啟自動生效(ReadOnChange參數、IOptionsMonitor對象)

      ASP.NET Core 為選項數據添加驗證(方式一:使用Validate函數 方式二:使用DataAnnotations)

      .Net Core 自定義配置源從遠程API讀取配置(ConfigurationProvider)

      邁向現代化的 .Net 配置指北(配置到類自動映射)

      Visual Studio 多環境配置文件方案:SlowCheetah

       

      路由、模型綁定、模型驗證

      ASP.NET Core WebAPI中,Controller標注 [ApiController] 特性,其路由只能使用[route]特性方式

      ASP.NET Core MVC 構建可讀性更高的ASP.NET Core 路由

      ASP.NET Core 3.x 為什么采用新的 Endpoint Routing 路由系統

      ASP.NET Core 3.0中使用動態控制器路由

      ASP.NET Core 中的模型綁定

      ASP.NET Core 中的自定義模型綁定(IModelBinder)

      使用Dynamic來直接操作API請求的數據(JTextAccessor)

      ASP.NET Core 中的 URL 重寫中間件

      ASP.NET Core API默認支持的InputFormatters:application/json-patch+json、application/json、text/json、application/*+json

      ASP.NET Core API默認支持的OutputFormatters:text/plain、application/json、text/json、application/*+json

      ASP.NET Core Web API 入參解析InputFormatter

      ASP.NET Core Web API 對輸入流stream的支持

      ASP.Net Core Web Api中異步視頻流的IOutputFormatter

      ASP.NET Core 實現支持自定義 Content-Type

      InputFormatter 用來解析請求 Body 的數據,將請求參數映射到強類型的 model,Request Body => Value
      OutputFormatter 用來將強類型的數據序列化成響應輸出,Value => Response Body
            Formatter 需要指定支持的 MediaType,可以理解為請求類型,體現在請求頭上,對于 InputFormatter 對應的就是 Content-Type ,對于 OutputFormatter 對應的是 Accept,asp.net core 會根據請求信息來選擇注冊的 formatter。

       模型驗證

      ASP.NET MVC 模型注解驗證(Data Annotation、IValidatableObject)

       

      控制反轉、依賴注入

      什么是控制反轉,和依賴注入:

           依賴倒置原則(Dependence inversion principle,DIP):軟件設計原則,要依賴于抽象,不要依賴具體實現。

      控制反轉(Inversion of Control,IoC):IOC是一種實現DIP原則的模式。平常我們需要一個類對象的時候需要new出來,而現在我們把new一個類對象的工作交給了IOC容器,當我們需要一個類對象的時候直接向IOC容器要,就可以了,這個就是控制反轉。(控制權交給了IOC容器)

      依賴注入(Dependency Injection,DI):DI是實現IOC的一種方式。當我需要一個類對象,IOC容器給我們這個類對象的過程其實就是依賴注入,依賴注入有構造函數注入和屬性注入。

      [官方]ASP.NET Core 依賴注入

      全面理解 ASP.NET Core 依賴注入

      官方推薦通過構造函數。這也是所謂的顯式依賴。Asp.Net Core 的標準依賴注入容器不支持屬性注入。(可以使用autofac或者其他來實現屬性注入)

      ASP.NET Core 中依賴注入的N種玩法

      ASP.NET Core 自定義特性實現屬性注入

      ASP.NET Core 原生DI實現批量注冊

      可以參考 Abp 框架,設計三個全局注入接口,來實現自動化注入ISingletonDependency ITransientDependency IScopedDependency ( 單例、瞬時、范圍)。

      如何實現一個接口注入多個實現類?

      .Net Core DI依賴注入:一個接口注入多個實現類

      ASP.NET Core默認注入方式下如何注入多個實現(多種方式)

      案例1:使用nlog時,想根據需要使用不同的配置文件 Nlog.config 寫日志時

      案例2:使用分布式緩存 IDistributedCache 時,想根據需要在一個項目中同時使用redissqlserver

      .NET依賴注入之一個接口多個實現

      ASP.NET Core 中多個接口對應同一個實現的正確姿勢

      ASP.NET Core 依賴注入擴展庫 Scrutor

      [OSharp]使用 IServiceProvider.GetService<T>() 實現按需注入,優化性能

      在WPF中使用.NET Core 3.0依賴項注入和服務提供程序

      .NetCore之依賴注入作用域和對象釋放(根容器、請求容器)

      .NetCore 中IServiceProvider的 GetService()和GetRequiredService()之間的區別

      • GetService- 如果服務未注冊,則返回null
      • GetRequiredService- 如果服務未注冊,則拋出一個Exception異常

       

       

      #ASP.NET Core 結合 Autofac 的使用

      AutoFac三種注入方式:按類型、按名稱、按鍵

      Asp.Net Core 2.0 之旅---AutoFacIOC容器的使用教程(批量注入)

      Asp.Net Core 2.0 之旅---AutoFac倉儲泛型的依賴注入(泛型注入)

      ASP.NET Core 技巧之偽屬性注入(屬性注入會造成類型的依賴關系隱藏,測試不友好等)

       

      ASP.NET Core 2.0中使用Autofac實現屬性注入的代碼片段

      public IServiceProvider ConfigureServices(IServiceCollection services)
      {
          // 第一步:替換系統默認Controller創建器(否則Controller下面無法使用屬性注入)
          // 在 services.AddMvc() 之前
          services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>());
          services.AddMvc();
      
          var builder = new ContainerBuilder();
      
          // 第二步:找到所有Controller的類型
          // 通過Autofac對Controller類型進行屬性注冊 PropertiesAutowired()
          var assembly = this.GetType().GetTypeInfo().Assembly;
          var manager = new ApplicationPartManager();
          manager.ApplicationParts.Add(new AssemblyPart(assembly));
          manager.FeatureProviders.Add(new ControllerFeatureProvider());
          var feature = new ControllerFeature();
          manager.PopulateFeature(feature);
          builder.RegisterTypes(feature.Controllers.Select(ti => ti.AsType()).ToArray()).PropertiesAutowired();
          // 第三步:配置 ContainerBuilder,返回 IServiceProvider 
          builder.Populate(services);
          return new AutofacServiceProvider(builder.Build());
      }

      淺談.Net Core 3.1中使用Autofac替換自帶的DI容器

      在 .Net Core2 中一般是把 Startup 的 ConfigureServices 方法返回值類型改為IServiceProvider,然后通過構建Autofac容器并注入服務后返回。

      在 .Net Core3.0之后,集成方式做了部分調整

       

      #、構造函數注入&屬性注入

      描述來源于Abp.io中文文檔:查看詳情

      構造方法注入

              是將依賴項注入類的首選方式.這樣,除非提供了所有構造方法注入的依賴項,否則無法構造類.因此,該類明確的聲明了它必需的服務.

      屬性注入

              public class MyService : ITransientDependency
              {
                       public ILogger<MyService> Logger { get; set; }

                       public MyService()
                       {
                               Logger = NullLogger<MyService>.Instance;
                      }

              }

      對于屬性注入依賴項,使用公開的setter聲明公共屬性.這允許DI框架在創建類之后設置它.
      屬性注入依賴項通常被視為可選依賴項.這意味著沒有它們,服務也可以正常工作.Logger就是這樣的依賴項,MyService可以繼續工作而無需日志記錄.
      為了使依賴項成為可選的,我們通常會為依賴項設置默認/后備(fallback)值.在此示例中,NullLogger用作后備.因此,如果DI框架或你在創建MyService后未設置Logger屬性,則MyService依然可以工作但不寫日志.
      屬性注入的一個限制是你不能在構造函數中使用依賴項,因為它是在對象構造之后設置的.
      當你想要設計一個默認注入了一些公共服務的基類時,屬性注入也很有用.如果你打算使用構造方法注入,那么所有派生類也應該將依賴的服務注入到它們自己的構造方法中,這使得開發更加困難.但是,對于非可選服務使用屬性注入要非常小心,因為它使得類的要求難以清楚地看到.

       

      ASP.NET Core WebAPI

      API接口設計最佳實踐(token,協議規范,路徑規范,版本管理,調用門檻,返回規范,安全性,冪等性)

      AspNetCore打造一個“最安全”的api接口

      ASP.NET Core WebApi返回結果統一包裝實踐

      GET、POST、PUT、DELETE

      面試官:你連HTTP請求Post和Get都不了解?

      GET、POST、PUT、DELETE最佳實踐

      簡單聊下.NET6 Minimal API的使用方式

      創建ASP.NET Core Web API (ControllerBase、參數綁定源)

      版本控制

      RESTful API版本控制策略

      ASP.Net Core WebAPI 幾種版本控制對比(nuget:Microsoft.AspNetCore.Mvc.Versioning)

      ASP.NET Core 構建帶有版本控制的 API 接口(結合SwaggerUI)

      ABP 適用性改造 - 添加 API 版本化支持

      使用 ASP.NET Core WebAPI 小技巧

      使用 Web API 約定

      使用 Web API 分析器告警缺失的約定

      ASP.NET Core AutoWrapper 自定義響應輸出

      API調試工具

      簡單的Postman,還能玩出花?

      常見的幾個接口管理平臺簡介

      API集成管理平臺YAPI的搭建和使用 (具有多人協作的功能) (體驗地址

      API集成管理工具Apifox

      ASP.NET Core 中的請求和響應中,正確讀取Body (Body、BodyReader 和 BodyWriter 屬性可用于 HttpRequest 和 HttpResponse)

       

      ASP.NET CoreMVC Razor Pages

      ASP.NET Core MVC 靜態文件目錄配置與訪問授權

      ASP.NET Core 十種方式擴展你的 Views

      ASP.NET Core 中的特殊視圖文件(_Layout.cshtml、_ViewStart.cshtml、_ViewImports.cshtml)

      ASP.NET Core 3.1 Razor 視圖預編譯、動態編譯

      新的 Razor 機制

      ASP.NET Core Razor SDK

      ASP.NET Core 的 Razor 語法參考

      ASP.NET Core 中的 Razor 頁面介紹(OnGet、OnPost、單頁多Handler方式)

      ASP.NET Core 中 Razor 頁面的IPageFilter

      ASP.NET Core 中 Razor 頁面的路由和應用約定

      ASP.NET Core Razor 配置:預編譯,動態編譯,混合編譯

      WebForm & MVC & Razor Pages

      [譯]ASP.NET:WebForms vs MVC

      ASP.NET Core Razor頁面 vs MVC

      [譯]ASP.Net Core 2.0中的Razor Page不是WebForm

      ASP.NET Core Razor頁面簡化了 ASP.NET MVC 應用程序

       

      Blazor

      Blazor VS 傳統Web應用程序

          Blazor托管模型:在客戶端模型中,Blazor在瀏覽器內部的WebAssembly(WASM)上運行,在服務器端模型中,Blazor在服務器上運行,并通過Signal-R將HTML傳輸到客戶端

      大量 Blazor 學習資源(一)

       

      MAUI(Multi-platform App UI)

      .NET Multi-platform App UI(MAUI)(.NET6  Vs2022預覽版)

      #、Xamarin.iOS 和 Xamarin.Android 都 合并到了 .NET 6 平臺中,并將分別重命名為 .NET for iOS 和 .NET for Android,Xamarin.Forms也隨著MAUI的正式發布,完成統一。
      #、Xamarin.Forms是適用于Android,iOS和UWP的跨平臺移動優先框架,.NET MAUI是Xamarin.Forms的演進。 

             

      Xamarin.Forms VS MAUI

      .NET MAUI 官方教程

      maui安裝和第一個應用

      [官方]安裝maui和創建第一個maui程序

      硬件加速

      用于模擬器性能的硬件加速 (Hyper-V & HAXM)

      Windows10/11家庭版開啟Hyper-V虛擬機功能詳解

      win10家庭版Hyper-v安裝與卸載

      開發ios

      Xamarin.iOS 安裝

      mac生成主機

      android應用直接使用模擬器在windows電腦或mac電腦上既可生成應用。ios應用,mac應用,要有一臺mac電腦才能完成應用生成

      適用于 Xamarin.iOS 開發的 Windows 計算機和 Mac 生成主機

      使用 .NET CLI 生成 iOS 應用

      通過“與 Mac 生成主機配對”進行 Xamarin.iOS 開發

      Visual Studio 2022 for Mac 產品系列系統要求

      哪些電腦可以使用最新的 macOS 版本?

      開發Android

      Maui發布APK

      電腦使用藍牙傳遞文件到手機

      MAUI+Android調試或打包報錯:XABLD7000: Xamarin.Tools.Zip.ZipException: Renaming temporary file failed: Permission denied 

      學習資料

      .NET MAUI on Microsoft Learn

      .NET MAUI 控件(Misrosoft Learn)

      [github]dotnet/maui

      [github].NET MAUI 社區教程(找猴子,包含英文和中文版)

      [天之梅子]Maui教程

      [github]awesome-dotnet-maui

      Blazor Hybrid / MAUI 簡介和實戰

      [MAUI] 在.NET MAUI中結合Vue實現混合開發

       

      HttpContext

      ASP.NET Core 中訪問 HttpContext 的方法

      ASP.NET Core 中通過IHttpContextAccessor實現公用靜態HttpContext

       

      狀態管理

      常見方式:CookieSessionTempData、查詢字符串、HttpContext.Items、緩存、依賴關系注入

      ASP.NET Core 中的會話和應用狀態

      #session

      ASP.NET Core 在通用數據保護條例規則下使用 session

      ASP.NET Core 使用Redis存儲Session

      #cookie

      Cookie 的 SameSite 屬性(注意http>>https重定向跨域導致的cookie丟失問題)

      .Net Core3.1中SameSite的使用方法

      ASP.NET Core SameSite 設置引起 Cookie 在 QQ 瀏覽器中不起作用

      [github]ASP.NET Core CookieManager

       

      通信

      對比 gRPC 服務和 HTTP API 服務

      .NET Core 基于Websocket的在線聊天室

      #HttpClient

      傳統.NET HttpClient坑

      ASP.NET Core HttpClient的演進和避坑

      C#中HttpClient使用注意:靜態化、預熱和長連接

      ASP.NET Core HttpClient的各種用法、生命周期管理

      DotNetCore 使用Http請求及基于 Polly 的處理故障

      使用 System.Net.Http.Json 簡化 HttpClient 的使用

      .NET 開發中 HttpClient 的坑與最佳實踐

      DotNetCore 中 HttpClientFactory 類源碼分析

      如何避免 .NET 中 HttpClient 的 DNS 失效問題?

      在 .net core 2.1(或2.2)之后解決了,官方解決方案是使用 HttpClientFactory 進行注入,不要再 new HttpClient。應使用依賴注入。如果是sdk級別不使用依賴注入,就可以使用文中方式

      #RPC

        Grpc

             [github]google protobuf

             Protobuf3語法詳解

             C# protobuf3的序列化和反序列化

             protocol buffer的命令protoc整理

             使用 gRPC-UI 調試.NET 5的gPRC服務

             ASP.NET Core 3.0 使用gRPC

             ASP.NET Core 3.0 gRPC 雙向流

             使用 ASP.NET Core 的 gRPC 服務

             [netcore]GRpc添加客戶端的五種方式

             .NET Core 中的 gRPC 客戶端工廠集成(依賴注入)

             兩個gRPC的C#庫:grpc-dotnet vs Grpc.Core

             Grpc調試:AspNetCore.Grpc.Swagger 由微軟提供(.NET5.0版本)--(github issue

             支持使用Restful API方式調用Grpc方法:GrpcJsonTranscoder

             [github]基于gRPC的實時網絡引擎:MagicOnion      

        DotNetty

             [github]Azure開源的網絡通信框架DotNetty

      #、SignalR

      ASP.NET Core SignalR 簡介

      ASP.NET Core基于SignalR實現消息推送實戰演練

      SignalR 中豐富多彩的消息推送方式

      在后臺主機中托管SignalR服務并廣播心跳包

       

      發布部署

      nginx

      Nginx 常用配置清單

      nginx 之 https 證書配置

      AOT和單文件發布對程序性能的影響(AOT、SingleFile、SelfContained、Compression、Trim)

      使用 NetCoreBeauty 優化 .NET CORE 獨立部署目錄結構

      asp.net core 只有發布之后才能在IIS上部署訪問(而asp.net 程序 是可以直接指定到源代碼目錄訪問)

      .Net Core 跨平臺:一個簡單程序的多平臺(windows、Linux、osx)發布

      .NET Core應用的三種部署方式

      .NET Core RID 目錄 (參數:-r|--runtime)

      .NET Core 目標框架 (參數:-f|--framework)

        dotnet publish 發布的文件中包含pdb文件,不論模式是Debug還是Release。可以通過配置:

           <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
                 <DebugType>None</DebugType>
                 <DebugSymbols>false</DebugSymbols>
                 ……
           </PropertyGroup>

      --self-contained 自包含參數。將.NET Core運行時及.NET Core類庫隨應用一起打包,這樣可以完全避免老項目在系統.NET Core運行時升級時,帶來莫名異常的問題

      快速搞懂.NET 5/.NET Core應用程序的發布部署

      發布 .NET 5 帶運行時單文件應用時優化文件體積的方法(.pubxml)

      IIS上部署.NET Core應用

      第一步:安裝 ASPNetCoreModule2 模塊  (ASPNetCoreModule和ASPNetCoreModuleV2之間有什么區別?

      第二步:IIS部署.Net5全流程

      IIS在ASP.NET Core下的兩種部署模式(進程內,進程外)

      ASP.NET Core 部署到 Linux 進行托管

      在Linux上使用 pm2 守護你的 .NET Core 應用程序--(pm2 github starts 31.1k)

      在Linux上使用Nginx + supervisor部署ASP.NET Core程序--(supervisor github starts 5.8k)

      ASP.NET Core 使用Docker進行容器化托管

      在Docker上部署自動更新ssl證書的nginx + .NET Core

      配置 ASP.NET Core 以使用代理服務器和負載均衡器

        使用 Nginx 在 Linux 上托管 ASP.NET Core

        使用 Apache 在 Linux 上托管 ASP.NET Core

      ASP.NET Core nginx反向代理部署

      ASP.NET Core 反向代理部署知多少 (ForwardedHeadersOptions)  

      .NET 項目發布中常見的文件及其作用

       

      軟件測試

      .NET Core 和 .NET Standard 單元測試最佳做法

      .NET 測試篇之Moq框架簡單使用

      使用 dotnet test 和 xUnit 在 .NET Core 中進行 C# 單元測試

      使用 dotnet test 和 NUnit 在 .NET Core 中進行 C# 單元測試

      使用 dotnet test 和 MSTest 在 .NET Core 中進行 C# 單元測試

      使用 dotnet test --filter 進行選擇性單元測試

      .NET Core單元測試之覆蓋率統計(coverlet + ReportGenerator)

       

      視頻教程

      從零開始學ASP.NET Core -- 角落的白板報

      ASP.NET Core 3.0 入門視頻 -- solenovex

      NetCore 視頻教程(Blog.Core)--- 老張

       

      其他

      時間相關

      c#:細說時區、DateTime和DateTimeOffset在國際化中的應用

      解決.NET發布云服務器的時區問題

      DateTimeOffset(推薦)

      C#中DateTime的缺陷與代替品DateTimeOffset

      DateTime(舊系統)

      dotnet core windows和linux的時區處理 (開源庫:nodatime)

      時間擴展庫:FluentDateTime

       Enum

              Enum.TryParse unexpected behavior  (fix: Enum.TryParse + Enum.IsDefined)

      使用NSSM將.exe程序安裝成windows服務

      深拷貝的五大類N種實現方式(手動、序列化、Automapper、DeepCloner、反射、Emit、表達式樹)

      ==============================================================================

      over,謝謝查閱,覺得文章對你有收獲,請多幫推薦。歡迎向我提供更好的資料信息。

       

      posted on 2019-07-16 09:15  滴答的雨  閱讀(71316)  評論(64)    收藏  舉報

      主站蜘蛛池模板: 欧洲精品色在线观看| 在线天堂中文新版www| 久久蜜臀av一区三区| 99久久激情国产精品| 羞羞影院午夜男女爽爽免费视频| 国产成人亚洲综合91精品| 一区二区中文字幕久久| 中文人妻无码一区二区三区在线 | 久久午夜夜伦鲁鲁片免费无码影院| 国产精品av中文字幕| 成熟了的熟妇毛茸茸| 少妇伦子伦情品无吗| 99久久精品国产亚洲精品| 日韩精品一区二区三区中文无码| 国产亚洲精品AA片在线播放天| 亚洲爆乳少妇无码激情| 免费国产午夜理论片不卡 | 久久精品国产中文字幕| 国产自产av一区二区三区性色 | 中国少妇人妻xxxxx| 成在线人永久免费视频播放| 久久精品久久精品久久精品| 精品国产高清中文字幕| 国产精品福利自产拍久久| 精品人妻码一区二区三区| 国产成AV人片久青草影院| 一区二区三区不卡国产| 综合在线 亚洲 成人 欧美| 青草青草久热精品视频在线播放| 中文字幕在线精品国产| 九九热爱视频精品视频| 国产爆乳乱码女大生Av| 国产999久久高清免费观看| 精品午夜福利短视频一区| 成在人线av无码免费高潮水老板| 免费现黄频在线观看国产| 国产精品美女免费无遮挡| 国产99在线 | 免费| 亚洲精品无amm毛片| 不卡一区二区三区视频播放| 在线观看热码亚洲av每日更新|