基本信息
定價:79.80元
印次:1-1
ISBN:9787302528876
出版日期:2019.07.01
印刷日期:2019.06.06
圖書簡介
◆ 創建新項目並理解其結構
◆ 在ASP.NETCore中設定和使用熟悉的MVC應用程式模型
◆ 編寫控制器類代碼來控制請求處理的所有階段
◆ 從控制器提供HTML,或者直接通過Razor頁面提供HTML
◆ 掌握Razor語言,以快速定義HTML視圖的布局
◆ 管理跨領域關注點,如全局配置數據、錯誤和異常處理、控制器類的設計以及依賴注入
◆ 使用用戶身份驗證和ASP.NETCore的基於策略的用戶授權API來保護應用程式安全
◆ 設計高效的數據訪問,並為讀寫數據選擇合適的選項
◆ 構建ASP.NETCoreWebAPI來返回JSON、XML或其他數據
◆ 使用數據綁定,以編程方式更新可視化組件
◆ 為iOS和Android構建對設備友好的Web視圖
◆ 探討全新的ASP.NETCore運行時環境和依賴注入(DI)基礎設施
圖書目錄
第I部分 新ASP.NET一覽
第1章 為什麼又開發一個ASP.NET 3
1.1 .NET平台現狀 4
1.1.1 .NET平台的亮點 4
1.1.2 .NET Framework 4
1.1.3 ASP.NET Framework 5
1.1.4 Web API框架 6
1.1.5 對極簡Web服務的需求 7
1.2 15年過去後的.NET 7
1.2.1 更簡潔的.NET Framework 8
1.2.2 將ASP.NET與宿主解耦 9
1.2.3 新的ASP.NET Core 10
1.3 .NET Core的命令行工具 10
1.3.1 安裝CLI工具 10
1.3.2 dotnet驅動程式工具 11
1.3.3 dotnet的預定義命令 12
1.4 小結 13
第2章 第一個ASP.NET Core項目 15
2.1 ASP.NET Core項目的分析 15
2.1.1 項目結構 16
2.1.2 與運行時環境互動 22
2.2 依賴注入子系統 27
2.2.1 依賴注入一覽 27
2.2.2 ASP.NET Core中的依賴注入 29
2.2.3 與外部DI庫集成 31
2.3 構建極簡網站 33
2.3.1 創建單端點網站 34
2.3.2 訪問Web伺服器上的檔案 40
2.4 小結 44
第II部分ASP.NETMVC應用程式模型
第3章啟動ASP.NETMVC47
3.1啟用MVC應用程式模型47
3.1.1註冊MVC服務48
3.1.2啟用傳統路由50
3.2配置路由表53
3.2.1路由的剖析54
3.2.2路由的高級方面59
3.3ASP.NETMVC的機制62
3.3.1操作調用程式63
3.3.2處理操作結果64
3.3.3操作篩選器64
3.4小結65
第4章ASP.NETMVC控制器67
4.1控制器類67
4.1.1發現控制器的名稱68
4.1.2繼承的控制器69
4.1.3POCO控制器70
4.2控制器操作73
4.2.1將操作映射到方法73
4.2.2基於特性的路由77
4.3實現操作方法80
4.3.1基本數據獲取80
4.3.2模型綁定82
4.3.3操作結果88
4.4操作篩選器91
4.4.1操作篩選器的剖析91
4.4.2操作篩選器的小集合94
4.5小結97
第5章ASP.NETMVC視圖99
5.1提供HTML內容99
5.1.1從終止中間件提供HTML100
5.1.2從控制器提供HTML100
5.1.3從Razor頁面提供HTML101
5.2視圖引擎102
5.2.1調用視圖引擎102
5.2.2Razor視圖引擎103
5.2.3添加自定義視圖引擎108
5.2.4Razor視圖的結構109
5.3向視圖傳遞數據113
5.3.1內置的字典113
5.3.2強類型視圖模型116
5.3.3通過DI系統注入數據118
5.4Razor頁面118
5.4.1引入Razor頁面的理由118
5.4.2Razor頁面的實現119
5.4.3從Razor頁面提交數據120
5.5小結122
第6章Razor語法123
6.1語法元素123
6.1.1處理代碼表達式124
6.1.2布局模板128
6.1.3分部視圖131
6.2Razor標記幫助程式133
6.2.1使用標記幫助程式133
6.2.2內置的標記幫助程式135
6.2.3編寫自定義標記幫助程式138
6.3Razor視圖組件141
6.3.1編寫視圖組件142
6.3.2CompositionUI模式143
6.4小結145
第III部分跨領域關注點
第7章設計考慮149
7.1依賴注入基礎結構149
7.1.1進行重構以隔離依賴149
7.1.2ASP.NETCoreDI系統概述152
7.1.3DI容器的各個方面155
7.1.4在層中注入數據和服務156
7.2收集配置數據157
7.2.1支持的數據提供程式158
7.2.2構建配置文檔對象模型160
7.2.3傳遞配置數據162
7.3分層架構164
7.3.1表示層165
7.3.2套用層167
7.3.3領域層167
7.3.4基礎結構層168
7.4處理異常168
7.4.1異常處理中間件168
7.4.2異常篩選器171
7.4.3記錄異常173
7.5小結174
第8章應用程式安全175
8.1Web安全基礎結構175
8.1.1HTTPS協定175
8.1.2處理安全證書176
8.1.3對HTTPS套用加密176
8.2ASP.NETCore中的身份驗證176
8.2.1基於cookie的身份驗證177
8.2.2處理多個身份驗證方案179
8.2.3建模用戶身份180
8.2.4外部身份驗證184
8.3通過ASP.NETIdentity進行用戶身份驗證189
8.3.1ASP.NETIdentity概述189
8.3.2使用UserManager193
8.4授權策略197
8.4.1基於角色的授權198
8.4.2基於策略的授權201
8.5小結206
第9章訪問應用程式數據207
9.1創建相對通用的應用程式後端208
9.1.1整體式應用程式208
9.1.2CQRS方法210
9.1.3基礎結構層的構成211
9.2.NETCore中的數據訪問212
9.2.1EntityFramework6.x213
9.2.2ADO.NET適配器215
9.2.3使用微型O/RM框架217
9.2.4使用NoSQL存儲219
9.3EFCore的常見任務220
9.3.1建模資料庫221
9.3.2處理表數據224
9.3.3處理事務229
9.3.4關於異步數據處理231
9.4小結233
第IV部分前端
第10章設計WebAPI237
10.1使用ASP.NETCore構建WebAPI237
10.1.1公開HTTP端點238
10.1.2檔案伺服器240
10.2設計RESTful接口242
10.2.1REST簡介242
10.2.2在ASP.NETCore
中使用REST245
10.3保護WebAPI的安全248
10.3.1隻計畫真正需要的安全性249
10.3.2較為簡單的訪問控制方法250
10.3.3使用身份管理伺服器251
10.4小結258
第11章從客戶端提交數據259
11.1組織HTML表單259
11.1.1定義HTML表單260
11.1.2Post-Redirect-Get模式263
11.2通過JavaScript提交表單266
11.2.1上傳表單內容266
11.2.2刷新當前螢幕的一部分270
11.2.3將檔案上傳到Web伺服器272
11.3小結275
第12章客戶端數據綁定277
12.1通過HTML刷新視圖277
12.1.1準備工作278
12.1.2定義可刷新區域278
12.1.3綜合運用278
12.2通過JSON刷新視圖284
12.2.1Mustache.JS庫簡介284
12.2.2KnockoutJS庫簡介288
12.3構建Web應用程式的Angular方法293
12.4小結294
第13章構建設備友好的視圖295
13.1根據實際設備調整視圖295
13.1.1HTML5在開發設備套用方面的優勢296
13.1.2特徵檢測298
13.1.3客戶端設備檢測300
13.1.4ClientHints即將問世303
13.2對設備友好的圖片303
13.2.1PICTURE元素303
13.2.2ImageEngine平台305
13.2.3自動調整圖片大小305
13.3面向設備的開發策略307
13.3.1以客戶端為中心的策略307
13.3.2以伺服器為中心的策略311
13.4小結312
第V部分ASP.NETCore生態系統
第14章ASP.NETCore的運行時環境315
14.1ASP.NETCore的宿主315
14.1.1WebHost類316
14.1.2自定義宿主設定319
14.2內置的HTTP伺服器324
14.2.1選擇HTTP伺服器324
14.2.2配置反向代理326
14.2.3Kestrel的配置參數329
14.3ASP.NETCore的中間件331
14.3.1管道架構331
14.3.2編寫中間件組件333
14.3.3打包中間件組件337
14.4小結339
第15章部署ASP.NETCore應用程式341
15.1發布應用程式341
15.1.1在VisualStudio內發布應用程式342
15.1.2使用CLI工具發布應用程式347
15.2部署應用程式348
15.2.1部署到IIS349
15.2.2部署到MicrosoftAzure351
15.2.3部署到Linux355
15.3Docker容器357
15.3.1容器與虛擬機357
15.3.2從容器到微服務架構358
15.3.3Docker與VisualStudio2017358
15.4小結359
第16章遷移和採用策略361
16.1尋找商業價值361
16.1.1尋找益處362
16.1.2brownfield開發366
16.1.3greenfield開發367
16.2yellowfield策略概述370
16.2.1處理缺失的依賴370
16.2.2.NETPortabilityAnalyzer370
16.2.3WindowsCompatibilityPack372
16.2.4推遲跨平台挑戰372
16.2.5走向微服務架構373
16.3小結375