日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET Core 学习资料精选:进阶

發布時間:2023/12/4 asp.net 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET Core 学习资料精选:进阶 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


2019.09月就要正式發布.NET 3.0了,對于前一篇博文《.NET Core 學習資料精選:入門》大家學的可還開心?這是本系列的第二篇文章:進階篇,喜歡的園友速度學起來啊。

對于還在使用傳統.NET Framework?框架的園友,可以通過《.NET項目遷移到.NET Core操作指南》把需要新生力量的舊項目速度遷移到.NET Core?中

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

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

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

? ? 介紹.NET歷史、開源之路、基礎、路由、依賴注入、HttpContext、cookie|session、HttpClient、gRPC、單元測試、發布部署等等。

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

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

第三篇:.NET Core?學習資料精選:高級&微服務架構

? ? 介紹性能、原理、微服務架構、DDD等知識

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

? ?


.NET?工程化


#、StyleCop編碼規范

StyleCop規則匯總

在VS2017中使用StyleCop

netcore將StyleCop.Analyzers自定義規則應用到整個解決方案

#、Nuget包

安裝NuGet 客戶端工具

NuGet.Server

發布包

承載自己的NuGet 源

Nuget管理工具BaGet使用教程

Nuget管理工具FuGet使用教程

#、Swagger Api文檔

Swagger 規范 (swagger.json)

Swagger+AutoRest 生成web api客戶端(.Net)

Swashbuckle方式

Asp.Net Core 使用Swagger生成API文檔并添加API分組

Asp.Net Core 使用Swagger生成API文檔并添加文檔描述、響應類型描述

NSwag方式

Asp.Net Core 使用NSwag生成Swagger Api文檔


AOP面向切面編程


AOP(Aspect-Oriented Programming)是一種將函數的輔助性功能與業務邏輯相分離的編程范式(programming paradigm),其目的是將橫切關注點(cross-cutting concerns)分離出來,使得程序具有更高的模塊化特性。

AOP體現原則:單一職責原則 和 開放封閉原則

在ASP.NET Core中可使用三種方式實現AOP:中間件Middleware、過濾器Filter、代碼織入(靜態織入和動態代理)

#、中間件Middleware

中間件就是嵌入到應用管道中用于處理請求和響應的一段代碼,ASP.NET Core?中使用了大量的中間件。eg:全局異常、路由、響應緩存、響應壓縮、身份認證、CORS、日志記錄等等

??????

??????ASP.NET Core Middleware 的實現(Conventional Middleware 和IMiddleware)

????? ASP.NET Core Middleware?的實現(Run,Map,Use,內置中間件)

??????【機翻】?【人工翻譯】

#、過濾器Filter

??????

??????ASP.NET Core 被低估的過濾器

??????ASP.NET Core MVC Filter的定義、注冊和各種Filter執行順序

#、代碼織入

l??編譯時靜態織入

框架:PostSharp、Fody

特點:[編譯型]性能高,缺點是缺乏靈活性

實現思想:給語言的編譯器做擴展,使得在編譯程序的時候編譯器將相應的Aspect代碼織入到業務代碼的指定連接點,輸出整合的結果。

l??運行時動態織入(動態代理)

框架:Castle DynamicProxy,

特點:[運行時動態代理]靈活性高,性能相對“靜態織入”低

實現方式:將擴展添加到運行虛擬機而不是編譯器。Aspect和業務代碼分別獨立編譯,而在運行時由虛擬機在必要時進行織入。

.Net AOP代碼織入介紹

.Net AOP代碼織入實現類型及原理(靜態、動態、優缺點)

.Net AOP代碼織入之《攔截方法》(包含案例:數據事物、多線程)

.Net AOP代碼織入之《單元測試切面》

.Net AOP代碼織入之《案例:構建一個汽車租賃應用》

演示了清晰的業務代碼,因為非功能性需求(eg:logging,防御性編程,事務,重試,和異常處理等)導致代碼變得冗長、難懂、不易維護。通過使用AOP來讓業務代碼重新清晰化

.NET Core 原生DI+AOP實現注解式編程

.NET Core 泛型倉儲和聲明式事物實現最優雅的crud操作


異常處理


Restful API 中的錯誤處理設計

ASP.NET Core 應用的錯誤處理[1]:三種呈現錯誤頁面的方式

使用UseStatusCodePages 根據Status選擇處理方式(跳轉頁面)

ASP.NET Core 自定義ErrorHandlingMiddleware 全局異常捕獲


緩存


.NET Core 緩存使用、配置、依賴策略

.NET Core MemoryCache 緩存過期策略(絕對、滑動、依賴、過期回調)

ASP.NET Core 使用分布式緩存(redis、sqlserver)

windows redis安裝和設置密碼

ASP.NET Core 使用RedLock.net 實現分布式鎖


日志


玩轉ASP.NET Core 中的日志組件

[github]ASP.NET Core Microsoft.Extensions.Logging 默認log組件

ASP.NET Core 中使用Nlog 記錄日志

在ASP.NET Core 中使用Serilog 進行日志記錄

ASP.NET Core 中使用log4net 記錄日志

分布式日志

? ? ??.NET Core中使用Exceptionless分布式日志框架

? ? ??.NET Core 快速搭建Docker-ELK分布式日志中心


響應優化


在ASP.NET Core 中的響應壓縮

ASP.NET Core 中使用ResponseCache 響應緩存


上傳下載


ASP.NET Core 中的文件上傳(IFormFile)、流式處理上傳大文件

ASP.NET Core 下載斷點續傳


健康檢查


ASP.NET Core 中的運行狀況檢查(IHealthCheck)

[github]ASP.NET Core HealthChecks(健康檢查,異常webhooks通知)

使用案例:

使用ASP.NET Core實現Docker的HealthCheck指令

Kubernetes liveness and readiness probes using HealthChecks


其他特性


#、對象池ObjectPool

.NET Core 中Object Pool的簡單使用

#、WebHooks

ASP.NET Webhook 概述

WebHooks with ASP.NET Core – DropBox and GitHub


后臺任務


基礎知識

服務宿主是IIS,需要注意IIS的回收策略對后臺任務的影響

Cron表達式

cron表達式在線生成

ASP.NET Core 中使用托管服務實現后臺任務(后臺任務、作用域任務、隊列任務)

.NET Core 3.0 創建Windows服務項目(BackgroundService)

使用Topshelf 創建Windows 服務

#、Hangfire(5024 stars)

????? 特點:不需要Windows服務或單獨的進程

ASP.NET Core 中使用Hangfire任務管理(含Dashboard)

Hangfire 授權、自定義路由、只讀Dashboard、多數據庫源、設置主應用

Hangfire 隊列任務、計劃任務、周期性任務

ASP.NET Core 中使用Hangfire.Redis.StackExchange存儲

ASP.NET Core 中Hangfire.Cronos 結合BackgroundService 實現任務調度

使用Hangfire.HttpJob實現調度與業務分離

使用ASP.NET Core和Hangfire實現HTTP異步化方案

#、Quartz.NET(3404 stars)

Quartz.Net幾種部署模式(IIS、Exe、服務部署【借助TopSelf、服務類】)

ASP.NET Core2.2+Quartz.Net 實現web定時任務

Quartz.NET 配置文件詳解(quartz.config 和quartz_jobs.xml)

----quartz.config可以合并到App.config和Web.config中

quartz.net 3.x版本如何通過xml文件進行Job配置

CrystalQuartz

配置Quartz.NET Cluster以及遠程管理(CrystalQuartz)

Quartz.NET 可視化Job管理(CrystalQuartz)

CrystalQuartz 在線 Demo


認證和授權


#、ASP.NET Core Identity身份認證

命名空間:Microsoft.AspNetCore.Identity

ASP.NET Core Identity框架簡介

創建完整的ASP.NET Core Identity基架(多圖)

ASP.NET Core Identity配置(聲明類型、鎖定策略、密碼策略、登錄策略等等)

ASP.NET Core 中注冊確認電子郵件和重置密碼

ASP.NET Core Identity身份驗證支持OAuth2第三方驗證提供程序

ASP.NET Core Identity中自定義模型

ASP.NET Core Idendity自定義存儲提供程序(Azure表存儲、Dapper)

#、基于Cookie的身份認證

命名空間:Microsoft.AspNetCore.Authentication.Cookies

ASP.NET Core中使用Cookie身份驗證

ASP.NET Core Cookie身份驗證支持OAuth2第三方驗證提供程序

#、授權

命名空間:Microsoft.AspNetCore.Authorization

ASP.NET Core 簡單授權

ASP.NET Core 基于角色的授權

ASP.NET Core 基于聲明的授權

ASP.NET Core 基于策略的授權

ASP.NET Core 自定義授權提供程序

ASP.NET Core web api基于JWT自定義策略授權

#、IdentityServer4?認證授權

[阮一峰]理解OAuth 2.0

[曉晨Master]IdentityServer4 中文文檔與實戰

[免費視頻]IdentityServer教程視頻


安全性


檢查HTTP Header 是否安全

.NET項目安全設置向導

ASP.NET Core 在強制實施 HTTPS

#、CORS

跨域資源共享CORS 詳解

ASP.NET Core 中啟用跨域請求 (CORS)

#、CSRF

淺談CSRF攻擊方式

SameSite Cookie,防止CSRF 攻擊

ASP.NET Core 防止跨站點請求偽造(XSRF/CSRF) 攻擊

ASP.NET Core WebAPI 中防御跨站請求偽造攻擊(CSRF)

ASP.NET Core 啟用客戶端IP 安全列表


EF Core


EF Core 微軟官網教程(非常全)

Linq入門詳解(Linq to Objects)

3分鐘了解數據庫事務(ACID、事務隔離級別)

EF Core DbFirst:從數據庫生成實體類(反向工程)

EF Core CodeFirst:從實體創建新數據庫

EF Core CodeFirst:實體修改后遷移數據庫架構

EF Core 啟用SQL日志記錄

模型配置

EF Core 實體類型、查詢類型、數據注解、Fluent API

EF Core 自動生成值配置

EF Core 實體間關系

EF Core 生成跟蹤列(eg:CreatedAt,CreatedBy等列)

并發

EF Core 并發檢查

EF Core 并發沖突處理

數據查詢

EF Core 關聯數據加載策略(預先記載、顯示加載、延遲加載)

EF Core 跟蹤與非跟蹤查詢

EF Core 全局查詢篩選器(軟刪除、多租戶等)

EF Core 使用like 函數實現模糊查詢

批量數據操作

[收費]使用Entity Framework Extensions 實現批量增、刪、改

[免費]Entity Framework Extensions 提供功能縮減版:EntityFramework-Plus

EF Core 執行SQL語句和存儲過程

????? 看完”入門”和”進階”兩篇文章,對.NET Core的常用特性基本是掌握了的。接下來的”高級”篇,會介紹性能、原理、微服務架構、DDD等知識,不過這篇文章會過幾個月整理出,中間打算研究一些開源框架,并分享給大家。


原文鏈接:https://www.cnblogs.com/heyuquan/p/dotnet-advance-learning-resource.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?

總結

以上是生活随笔為你收集整理的.NET Core 学习资料精选:进阶的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。