ASP.NET Core 5.0 開發入門與實戰
內容描述
這是一本從實戰角度出發,分析講解ASP.NET Core基本原理和實現方式,
以求幫助廣大讀者能夠快速掌握ASP.NET Core在企業級多端調用以及多平台部署的實踐指導書。
作者是.NET領域的佈道者和技術專家,並多次榮獲微軟MVP稱號。
本書以ASP.NET Core 5.0進行分析,不僅講解了核心原理和理論知識,
還通過實戰案例的方式,進一步拓展ASP.NET Core在企業中的應用。
更重要的是,本書所有代碼均已開源,讀者可以在對應下載資源中找到源碼地址,進行下載和學習。
此外,本書涉及的知識點,多以獨立章節用實際案例的形式專門進行落地指導,相互之間不受影響,
而從業務上又承上啟下,讀者可以根據自己的需要重點學習某一章節。
本書是一本項目開發案例方面的參考書,適合有基本編程知識,
但還沒有項目開發經驗的軟件開發初學者使用,
尤其適合高校學生進行畢業設計、課題設計時作為參考。
目錄大綱
前言
第1章 項目介紹/
1.1ASP.NET Core發展史/
1.1.1站在巨人的肩膀上/
1.1.2將開源進行到底/
1.1.3.NET的未來/
1.2項目整體架構介紹/
1.2.1涉及的知識點/
1.2.2需要掌握的技能/
1.2.3本書的學習方式/
1.3學完本書的成果/
1.4小結/
第2章環境配置與示例創建/
2.1搭建環境/
2.1.1SDK的選擇與安裝/
2.1.2Visual Studio 2019的下載與安裝/
2.2實例——從創建Hello World開始/
2.2.1創建.Net Core控制台項目/
2.2.2創建ASP.NET Core Web API項目/
2.2.3了解其他類型的NetCore項目/
2.3API實例模板項目結構分析/
2.3.1依賴項/
2.3.2launchSettings.json/
2.3.3Controllers/
2.3.4appsettings.json/
2.3.5Program.cs/
2.3.6Startup.cs/
2.4項目分層結構搭建/
2.4.1設計倉儲接口與實現/
2.4.2設計服務接口與實現/
2.5小結/
第3章 接口文檔Swagger/
3.1引入Swagger/
3.1.1引用NuGet包/
3.1.2配置服務/
3.1.3配置中間件/
3.1.4查看效果/
3.2Swagger額外配置/
3.2.1設置Swagger頁面為首頁開發環境/
3.2.2設置Swagger頁面為首頁生產環境/
3.2.3給接口添加註釋/
3.2.4對Model也添加註釋說明/
3.2.5去掉Swagger警告提示/
3.3小結/
第4章 授權與認證/
4.1JWT權限驗證/
4.2生成一個令牌/
4.2.1服務註冊與參數配置/
4.2.2設計登錄接口/
4.3JWT——權限三步走/
4.3.1API接口授權/
4.3.2配置認證服務/
4.3.3配置官方認證中間件/
4.3.4發起登錄請求/
4.4核心知識梳理/
4.4.1什麼是Claim/
4.4.2了解Bearer認證/
4.4.3JWT(JSON Web Token)/
4.4.4擴展/
4.5小結/
第5章 Entity Framework Core數據訪問與倉儲模式/
5.1實體Model數據層/
5.2創建實體模型與數據庫/
5.2.1創建實體模型/
5.2.2創建文章倉儲接口/
5.2.3創建數據庫/
5.3Article服務調用/
5.3.1完善倉儲實現/
5.3.2補充Article服務/
5.3.3調用Article Controller/
5.4小結/
第6章 異步泛型倉儲/
6.1設計倉儲基類接口/
6.2對倉儲基接口進行實現/
6.3設計應用服務層基類與基接口/
6.4運行項目,並調試接口/
6.5小結/
第7章 依賴注入IoC與AutoMap/
7.1依賴注入/
7.2什麼是控制反轉(IoC)/
7.3依賴注入的理解和思考/
7.4常見的IoC框架/
7.5較好用的IoC框架使用—— Autofac/
7.6整個dll程序集批量注入/
7.7小結/
第8章 實戰:站點業務接口設計/
8.1介紹/
8.2創建模型/
8.3配置上下文/
8.4模型映射/
8.4.1引入AutoMapper的相關包/
8.4.2添加映射文件/
8.4.3使用AutoMapper實現模型映射,並註入/
8.5注入泛型倉儲/
8.6業務接口實現/
8.6.1授權接口/
8.6.2文章接口/
8.6.3問答接口/
8.6.4個人中心接口/
8.6.5主頁接口/
8.7創建遷移運行/
8.8小結/
第9章 實戰:AOP實現日誌記錄和緩存/
9.1AOP實現日誌記錄(服務層)/
9.1.1添加BbsLog AOP攔截器/
9.1.2添加到Autofac容器中,實現注入/
9.1.3運行項目/
9.2AOP實現接口數據的緩存功能/
9.2.1定義Memory緩存類和接口/
9.2.2定義一個緩存攔截器/
9.2.3注入緩存攔截器/
9.2.4運行項目/
9.3小結/
第10章 實戰:單元與集成/
10.1面向編程/
10.1.1單元/
10.1.2集成/
10.1.3面向TDD驅動開發/
10.2實例——編寫單元案例/
10.2.1使用xUnit組件/
10.2.2設計服務/
10.2.3運行/
10.3實例——編寫集成案例/
10.3.1使用TestServer構建服務/
10.3.2集成文章管理場景/
10.3.3攜帶令牌訪問API接口/
10.4小結/
第11章 實戰:發布與部署真機/
11.1通過VS發布/
11.1.1框架依賴部署模式/
11.1.2獨立部署模式/
11.2通過命令行發布/
11.3在Windows服務器中部署/
11.3.1安裝IIS服務器/
11.3.2安裝運行時並開啟站點服務/
11.4在Linux服務器中部署/
11.4.1安裝運行時並使用Kestrel啟動服務/
11.4.2配置Supervisor守護服務/
11.4.3使用Nginx作為代理服務器/
11.5配置外網可訪問的域名/
11.6小結/
第12章 前端入門/
12.1Promise類型/
12.1.1基本用法/
12.1.2異常處理/
12.1.3對象轉成Promise/
12.1.4批量執行/
12.2異步方法/
12.2.1基本用法/
12.2.2異常處理/
12.2.3異步的應用/
12.2.4根據子類獲取父類
12.2.5調用父類方法
12.3ES6模塊化編程/
12.3.1Class基本用法/
12.3.2靜態方法和靜態屬性/
12.3.3繼承/
12.3.4根據子類獲取父類/
12.3.5調用父類方法/
12.3.6導出模塊/
12.3.7導入模塊/
12.3.8默認導出/
12.3.9導入、導出的複合寫法/
12.3.10導入函數/
12.4JavaScript超集之TypeScript/
12.4.1基礎類型與變量聲明/
12.4.2函數/
12.4.3接口與類/
12.4.4泛型/
12.5CSS擴展語言之Sass/
12.5.1嵌套規則/
12.5.2父選擇器/
12.5.3屬性嵌套/
12.5.4註釋/
12.5.5變量/
12.5.6運算/
12.5.7插值語句/
12.5.8引入樣式/
12.5.9使用混合器復用代碼/
12.6小結/
第13章 Vue入門/
13.1個Vue程序/
13.1.1引入Vue.js/
13.1.2顯示Hello World/
13.2生命週期
作者介紹
韓冬
北京盛安德青島分公司Team Leader,擅長領域Scrum、DDD、AI,
博客名:初久的私房菜,從事軟件架構及開發多年,對.Net、Angular、Docker、Abp有著非常深入的研究,
對從業務角度出發將技術與業務結合有著深刻的見解。
張安忠:微軟MVP,獨立開發者,目前運營BCVP開發者社區。
國內.NET Core佈道者,專注於應用層面的專研、拓展和使用,
為.NET能夠落地一套微服務項目而不斷奮鬥。
本書從基礎出發,從入門到實戰,理論聯繫實際,
既適合新手快速入門,也支持.NET開發者快速搭建微服務項目。