作者:滴答的雨 鏈接:https://www.cnblogs.com/heyuquan/p/dotnet-basic-learning-resource.html
開(kāi)源跨平臺(tái)的.NET Core,還沒(méi)上車的趕緊的,來(lái)不及解釋了…… 本系列文章,主要分享一些.NET Core比較優(yōu)秀的社區(qū)資料和微軟官方資料。 我進(jìn)行了知識(shí)點(diǎn)歸類,讓大家可以更清晰的學(xué)習(xí).NET Core。 首先感謝資料原作者的貢獻(xiàn)。 第一篇:.NET Core 學(xué)習(xí)資料精選:入門 介紹.NET歷史、開(kāi)源之路、基礎(chǔ)、路由、依賴注入、HttpContext、cookie|session、HttpClient、gRPC、單元測(cè)試、發(fā)布部署等等。 第二篇:.NET Core 學(xué)習(xí)資料精選:進(jìn)階&高級(jí) 這是第一篇,知識(shí)點(diǎn)如圖: 
一、.NET 簡(jiǎn)介1、.NET 開(kāi)源之路 
.NET FrameWork發(fā)展史 C# 語(yǔ)言版本發(fā)展史 2014.11月 .NET Core 項(xiàng)目啟動(dòng),2016.06月 .NET Core 1.0 發(fā)布 微軟 .NET Core3.0 規(guī)劃藍(lán)圖 .NET Core 3.0 下一個(gè)版本命名為:.NET 5 
2、.NET Core提供的特性 1、開(kāi)源、免費(fèi) 2、輕量級(jí)、跨平臺(tái) 3、組件化、模塊化、IOC+Nuget、中間件 4、高性能 5、統(tǒng)一了MVC和WebAPI編程模型 6、可測(cè)試性 7、微服務(wù)、容器化支持 8、標(biāo)準(zhǔn)化 .NET API 規(guī)范- .NET STANDARD 3、遷移到.NET Core 目前市面上還存在很多傳統(tǒng) .NET 舊項(xiàng)目,我們需要根據(jù)公司情況決定是否升級(jí)到.NET Core。 如果需要進(jìn)行舊項(xiàng)目升級(jí)的,可以參考文章:《.NET項(xiàng)目遷移到.NET Core操作指南》https://www.cnblogs.com/heyuquan/p/dotnet-migration-to-dotnetcore.html 二、VS 和 .NET Core安裝VS 2019安裝教學(xué) VS 2019正式版注冊(cè)碼秘鑰 安裝 .NET CoreRuntime 和.NET Core SDK 【微軟官方文檔】ASP.NET Core *.* 個(gè)版本新特性 指定要使用的 .NET Core 版本 如何刪除 .NET Core 過(guò)時(shí)的運(yùn)行時(shí)和 SDK [坑]安裝 .Net Core 2.2 SDK后,VS2017依然不能設(shè)置core2.2為目標(biāo)框架 三、基礎(chǔ)ASP.NET Core開(kāi)發(fā)者路線指南 微軟官方ASP.NET Core教程文檔https://docs.microsoft.com/zh-cn/aspnet/?view=aspnetcore-2.2#pivot=core .NET Core 命令行接口 (CLI) 工具 .NET Core 運(yùn)行程序注意事項(xiàng)(dotnet dll 與 dotnet run) ASP.NET Core API 一覽表 查詢 NET API 及類庫(kù)在各版本中實(shí)現(xiàn)情況 ASP.NET Core 項(xiàng)目目錄結(jié)構(gòu)介紹 ASP.NET Core 程序自定義IP和端口的幾種方式 ASP.NET Core 中的Startup類 ASP.NET Core 中使用多個(gè)環(huán)境(開(kāi)發(fā)、預(yù)發(fā)布、生產(chǎn))- 默認(rèn)為 Production ASP.NET Core 動(dòng)作結(jié)果(ActionResult) ASP.NET Core 中控制器操作的多路徑返回類型(IActionResult) .NET Core 3.0 新的System.Text.JsonAPI 四、配置ASP.NET Core 中的配置(json、xml、命令行、環(huán)境變量、內(nèi)存變量等) ASP.NET Core 中的選項(xiàng)模式 .Net Core 自定義配置源從遠(yuǎn)程API讀取配置(ConfigurationProvider) 邁向現(xiàn)代化的 .Net 配置指北(配置到類自動(dòng)映射) 五、路由、模型綁定ASP.NET Core WebAPI中,Controller標(biāo)注 [ApiController] 特性,其路由只能使用[route]特性方式 ASP.NET Core MVC 構(gòu)建可讀性更高的ASP.NET Core 路由 ASP.NET Core 中的模型綁定 ASP.NET Core 中的自定義模型綁定(IModelBinder) ASP.NET Core 中的 URL 重寫(xiě)中間件 六、依賴注入(IOC、DI)什么是控制反轉(zhuǎn),和依賴注入: 控制反轉(zhuǎn)的意思就是:平常我們需要一個(gè)類對(duì)象的時(shí)候需要new出來(lái),而現(xiàn)在我們把new一個(gè)類對(duì)象的工作交給了IOC容器,當(dāng)我們需要一個(gè)類對(duì)象的時(shí)候直接向IOC容器要,就可以了,這個(gè)就是控制反轉(zhuǎn)。(控制權(quán)交個(gè)了IOC容器) 依賴注入的意思就是:當(dāng)我需要一個(gè)類對(duì)象,IOC容器給我們這個(gè)類對(duì)象的過(guò)程其實(shí)就是依賴注入,依賴注入有構(gòu)造函數(shù)注入和屬性注入。 [官方]在 ASP.NET Core 依賴注入 https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-2.2 全面理解 ASP.NET Core 依賴注入 ASP.NET Core 中依賴注入的N種玩法 ASP.NET Core 自定義特性實(shí)現(xiàn)屬性注入 ASP.NET Core 原生DI實(shí)現(xiàn)批量注冊(cè) ASP.NET Core 中如何注入同一個(gè)接口的多個(gè)實(shí)現(xiàn) ASP.NET Core 中多個(gè)接口對(duì)應(yīng)同一個(gè)實(shí)現(xiàn)的正確姿勢(shì) ASP.NET Core 依賴注入擴(kuò)展庫(kù) Scrutor [OSharp]使用 IServiceProvider.GetService<T>() 實(shí)現(xiàn)按需注入,優(yōu)化性能 七、ASP.NET Core 集合 Autofac 的使用AutoFac三種注入方式:按類型、按名稱、按鍵 ASP.NET Core 2.0 之旅---AutoFacIOC容器的使用教程 ASP.NET Core 2.0 之旅---AutoFac倉(cāng)儲(chǔ)泛型的依賴注入(泛型注入) ASP.NET Core 2.0 之旅---數(shù)據(jù)訪問(wèn)倉(cāng)儲(chǔ)模式的事務(wù)管理(uow+rp) ASP.NET Core 中使用Autofac實(shí)現(xiàn)屬性注入的代碼片段 public IServiceProvider ConfigureServices(IServiceCollection services) { // 第一步:替換系統(tǒng)默認(rèn)Controller創(chuàng)建器(否則Controller下面無(wú)法使用屬性注入) // 在 services.AddMvc() 之前 services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>()); services.AddMvc();
var builder = new ContainerBuilder();
// 第二步:找到所有Controller的類型 // 通過(guò)Autofac對(duì)Controller類型進(jìn)行屬性注冊(cè) 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()); }
八、ASP.NET Core WebAPI創(chuàng)建ASP.NET Core Web API (ControllerBase、參數(shù)綁定源) ASP.Net Core WebAPI 幾種版本控制對(duì)比 使用 Web API 約定 使用 Web API 分析器告警缺失的約定 九、ASP.NET Core:MVC 與 Razor PagesASP.NET Core MVC 靜態(tài)文件目錄配置與訪問(wèn)授權(quán) 新的 Razor 機(jī)制 https://docs.microsoft.com/zh-cn/aspnet/core/razor-pages/sdk?view=aspnetcore-2.2 ASP.NET Core Razor SDK ASP.NET Core 的 Razor 語(yǔ)法參考 ASP.NET Core 中的 Razor 頁(yè)面介紹(OnGet、OnPost、單頁(yè)多Handler方式) ASP.NET Core 中 Razor 頁(yè)面的IPageFilter ASP.NET Core 中 Razor 頁(yè)面的路由和應(yīng)用約定 ASP.NET Core Razor 配置:預(yù)編譯,動(dòng)態(tài)編譯,混合編譯
ASP.NET Core SignalR 入門 https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/signalr?view=aspnetcore-2.2&tabs=visual-studio WebForm & MVC & Razor Pages [譯]ASP.NET:WebForms vs MVC ASP.NET Core Razor頁(yè)面 vs MVC [譯]ASP.Net Core 2.0中的Razor Page不是WebForm ASP.NET Core Razor頁(yè)面簡(jiǎn)化了 ASP.NET MVC 應(yīng)用程序
十、HttpContextASP.NET Core 中訪問(wèn) HttpContext 的方法 ASP.NET Core 中通過(guò)IHttpContextAccessor實(shí)現(xiàn)公用靜態(tài)HttpContext 十一、狀態(tài)管理常見(jiàn)方式:Cookie、Session、TempData、查詢字符串、HttpContext.Items、緩存、依賴關(guān)系注入 ASP.NET Core 中的會(huì)話和應(yīng)用狀態(tài) 1、session ASP.NET Core 在通用數(shù)據(jù)保護(hù)條例規(guī)則下使用 session ASP.NET Core 使用Redis存儲(chǔ)Session 2、cookie ASP.NET Core SameSite 設(shè)置引起 Cookie 在 QQ 瀏覽器中不起作用 [github]ASP.NET Core CookieManager https://github.com/nemi-chand/CookieManager 十二、通信對(duì)比 gRPC 服務(wù)和 HTTP API 服務(wù) 1、HttpClient ASP.NET Core HttpClient的演進(jìn)和避坑 ASP.NET Core HttpClient的各種用法、生命周期管理 DotNetCore 使用Http請(qǐng)求及基于 Polly 的處理故障 DotNetCore 中 HttpClientFactory 類源碼分析 2、gRPC ASP.NET Core 3.0 上的gRPC服務(wù)模板初體驗(yàn)(多圖) ASP.NET Core gRPC的配置 十三、發(fā)布部署ASP.NET Core 使用 IIS 進(jìn)行托管部署 ASP.NET Core 部署到 Linux 進(jìn)行托管 ASP.NET Core 使用Supervisor進(jìn)行托管部署 ASP.NET Core 使用Docker進(jìn)行容器化托管 配置 ASP.NET Core 以使用代理服務(wù)器和負(fù)載均衡器 使用 Nginx 在 Linux 上托管 ASP.NET Core 使用 Apache 在 Linux 上托管 ASP.NET Core 十四、單元測(cè)試.NET Core 和 .NET Standard 單元測(cè)試最佳做法 使用 dotnet test 和 xUnit 在 .NET Core 中進(jìn)行 C# 單元測(cè)試 使用 dotnet test 和 NUnit 在 .NET Core 中進(jìn)行 C# 單元測(cè)試 使用 dotnet test 和 MSTest 在 .NET Core 中進(jìn)行 C# 單元測(cè)試 使用 dotnet test --filter 進(jìn)行選擇性單元測(cè)試 over,謝謝查閱,覺(jué)得文章對(duì)你有收獲,請(qǐng)多幫推薦。歡迎提供更好的資料信息。
●編號(hào)349,輸入編號(hào)直達(dá)本文
●輸入m獲取文章目錄
|