ASP.NET Core應用開發 .NET开发经典名著:ASP.NET Core应用开发

[美] James Chambers,David Paquette,Simon Timms著 杜偉 塗曙光 柴曉偉 譯

  • 出版商: 清華大學
  • 出版日期: 2017-09-01
  • 定價: $408
  • 售價: 8.5$347
  • 語言: 簡體中文
  • 頁數: 361
  • 裝訂: 平裝
  • ISBN: 7302479909
  • ISBN-13: 9787302479901
  • 相關分類: .NETASP.NET

已絕版

  • ASP.NET Core應用開發-preview-1
  • ASP.NET Core應用開發-preview-2
  • ASP.NET Core應用開發-preview-3
ASP.NET Core應用開發-preview-1

買這商品的人也買了...

相關主題

商品描述

動手掌握ASP.NET Core從架構到部署的方方面面
  《ASP.NET Core應用開發》通過一個跨平臺Web應用程序
的開發、部署與管理的完整流程,指導你學習ASP.NET Core。
你將掌握微軟革命性的開源ASP.NET Core技術,並學習如
何將MVC、Docker、Azure Web Apps、Visual Studio、C#、
JavaScript和Entity Framework融匯貫通。通過與一個虛擬的
Alpine Ski House開發團隊並肩工作,你將見證四個全新迭代的
完整開發過程。你將看到這個團隊是如何架構和設計他們的軟
件,響應用戶的反饋,以及完成開發、測試、部署、維護和重
構等各個環節的工作。
  最終,你將瞭解如何更快、更穩定地創建一流水準的軟件。
三位頂尖微軟MVP展示瞭如何:
◆ 使用ASP.NET Core和開源框架構建強大的跨平臺應用程序
◆ 超越MVC,構建一個完整的ASP.NET Core應用程序
◆ 從項目開始的第一天就開始生成並發布版本,快速部署迭
代中的產品
◆ 集成Azure支持,獲得雲服務的擴展能力
◆ 在Linux上運行或開發跨平臺的解決方案
◆ 使用Docker獲得一致的開發環境
◆ 使用Entity Framework Core 1.0訪問數據
◆ 使用更新的Razor視圖引擎生成HTML視圖
◆ 使用身份確保安全性和提供權限管理
◆ 使用依賴註入提高可測試性與可維護性
◆ 在ASP.NET Core環境中使用和管理JavaScript
◆ 使用SASS編寫可維護的靚麗CSS
◆ 充分利用標簽助手和其他可重用組件
◆ 設計、組織並重構應用程序,靈活應對變化

海報:

作者簡介

James Chambers,五次榮獲開發人員技術方向微軟MVP稱號,現
在正在開發運行於Azure和AWS之上的ASP.NET Core和MVC應用程序。
他是一位獨立諮詢師、技術導師、活躍的博客作者,並為多個開源項目貢獻自己的力量。

David Paquette,四次榮獲微軟MVP稱號,是一位軟件開發人員和獨
立諮詢師。他具有使用.NET構建Web 和Windows應用程序的豐富經驗,對
軟件工程領域有深入的了解,同時對提高用戶體驗頗具熱情。

Simon Timms,一位多次榮獲微軟MVP稱號的社區組織者、博
客作家、開發者和獨立諮詢師。他在技術領域興趣廣泛,從分佈式系
統到新的JavaScript框架無所不包。他在軟件開發和運維上都具備深厚
功力,這也使得他的團隊熱衷於生成、開發服務器部署等方面。

目錄大綱

第Ⅰ部分Alpine Ski House 

第1章一路走來5 
1.1 Active Server Pages(ASP) 6 
1.2 ASP.NET 7 
1.3 ASP.NET MVC 10 
1.4 Web API 13 
1.5 ASP.NET Core 14 
1.6本章小結15 

第2章影響者17 
2.1向後兼容性18 
2.2 Rails 18 
2.3 Node.js 21 
2.4 Angular和React 22 
2.5開源23 
2.6 OWIN 23 
2.7本章小結24 

第3章模型、視圖和控制器25 
3.1 MVC中的M、V和C 26 
3.1.1深入了解模型26 
3.1.2視圖28 
3.1.3局部視圖28 
3.1.4控制器29 
3.2 MVC以外的內容30 
3.2.1中間件30 
3.2.2依賴注入31 
3.2.3其他亮點32 
3.3本章小結32 

第4章定義項目範圍33 
4.1滑雪場34 
4.2 API接口36
4.3管理界面37 
4.4綜上所述37 
4.5定義我們的領域模型38 
4.6本章小結39 

第5章生成41 
5.1命令行生成42 
5.2生成服務器43 
5.3生成流水線44 
5.4生成Alpine Ski House 46 
5.5本章小結51 

第6章部署53 
6.1選擇Web服務器54 
6.2 Kestrel 54 
6.3反向代理55 
6.4 IIS 56 
6.5 Nginx 58 
6.6發布60 
6.6.1生成類型61 
6.6.2生成安裝包62 
6.6.3關於Azure 63 
6.6.4 Azure部署65 
6.7容器部署68 
6.8本章小結68 

第Ⅱ部分迭代回顧:千里之行

第7章使用Microsoft Azure構建
Web應用程序71 
7.1平台即服務72 
7.1.1平台服務72 
7.1.2搭建、刪除和重建你的
服務74 
7.2使用平台服務生成應用程序75 
7.2.1創建一個存儲賬號76
7.2.2在Blob Containers中存儲
圖片77 
7.2.3使用存儲隊列79 
7.2.4使用Azure WebJobs進行
自動處理79 
7.3擴展你的應用程序81 
7.3.1多方位擴展81 
7.3.2彈性擴展81 
7.3.3擴展性上的考慮83 
7.4本章小結84 

第8章跨平台85 
8.1在Ubuntu上運行86 
8.1.1安裝.NET Core 86 
8.1.2 dotnet CLI 86 
8.2選擇代碼編輯器89 
8.3 Linux上的Alpine Ski House 89 
8.4 .NET Core 92 
8.5本章小結95 

第9章容器97 
9.1可重複的環境98 
9.2 Docker 101 
9.3 Windows容器105 
9.4生產環境中的Docker 107 
9.5在雲端108 
9.6本章小結109 

第10章Entity Framework Core 111 
10.1 Entity Framework的基礎
知識112 
10.1.1查詢單條記錄114
10.1.2查詢多條記錄114 
10.1.3保存數據115 
10.1.4跟踪修改115 
10.1.5使用遷移創建和更新
數據庫116 
10.2 ApplicationDbContext 122 
10.3 SkiCardContext 125 
10.3.1跨越上下文邊界的
關聯126 
10.3.2連接控制器128 
10.4門票類型133 
10.5門票與驗證135 
10.6本章小結139 

第11章Razor視圖141 
11.1今天,開發人員如何
創建網站142 
11.1.1學習之前的成功經驗142 
11.1.2理解Razor的角色143 
11.2掌握Razor的本質143 
11.2.1幕後揭秘143 
11.2.2使用Razor語法編寫
表達式145 
11.2.3切換到代碼146 
11.2.4顯式使用標記147 
11.2.5 Razor解析器的控制符
速查表148 
11.3使用更多C#功能148 
11.3.1在視圖中使用C#類型148 
11.3.2定義模型149 
11.3.3使用視圖數據149
11.4使用佈局151 
11.4.1佈局基礎151 
11.4.2在視圖中包含部件153 
11.4.3定義和使用局部視圖153 
11.5使用Razor高級功能增強
視圖154 
11.5.1在視圖中註入服務154 
11.5.2使用標籤助手155 
11.5.3避免視圖重複158 
11.6使用其他視圖引擎159 
11.7本章小結159 

第12章配置和日誌161 
12.1拋棄web.config 162 
12.1.1配置你的應用程序162 
12.1.2使用現成的配置提供
程序164 
12.1.3創建自定義配置提供
程序165 
12.1.4使用選項模式167 
12.2作為一等公民的日誌168 
12.2.1創建清晰明確的日誌169 
12.2.2關於異常信息的設置170 
12.2.3作為部署策略的日誌
記錄171 
12.2.4 ASP.NET Core中的日誌
級別171 
12.2.5使用日誌作用域增強
日誌功能174 
12.2.6使用結構化日誌框架176 
12.2.7日誌即服務
(Logging as a Service) 178 
12.3本章小結179 

第Ⅲ部分迭代回顧:激流勇進

第13章身份標識、安全與權限
管理185 
13.1縱深防禦185 
13.1.1內部威脅186 
13.1.2外部威脅187 
13.2用戶密鑰187 
13.3 ASP.NET Core MVC中的
標識管理193 
13.4其他第三方認證提供程序198 
13.5使用策略進行授權202 
13.5.1全局應用策略202 
13.5.2為選擇的用戶定義
策略202 
13.5.3自定義授權策略204 
13.5.4保護資源205 
13.5.5跨域資源共享(CORS) 208 
13.6本章小結209 

第14章依賴注入211 
14.1什麼是依賴注入212 
14.1.1手工解析依賴212 
14.1.2使用服務容器解析
依賴213 
14.2 ASP.NET Core中的依賴
注入214 
14.2.1使用內置容器215 
14.2.2使用第三方容器217 
14.3本章小結219

第15章JavaScript的地位221 
15.1編寫優雅的JavaScript 222 
15.2我們是否需要JavaScript 223 
15.3組織223 
15.4是否要實現單頁面
應用(SPA) 224 
15.5構建JavaScript 225 
15.5.1 Bundler & Minifier 225 
15.5.2 Grunt 227 
15.5 .3 gulp 228 
15.5.4 WebPack 230 
15.5.5哪個工具更適合我232 
15.6 TypeScript 232 
15.6.1 ES2015到ES5的
編譯器233 
15.6.2類型系統234 
15.7模塊加載236 
15.8選擇一個框架237 
15.9本章小結238 

第16章依賴項管理241 
16.1 NuGet 242 
16.2 npm 244 
16.2.1添加依賴項245 
16.2.2使用npm模塊245 
16.2.3與Visual Studio的
集成246 
16.3 Yarn 247 
16.4 Bower 249 
16.4.1添加依賴項250
16.4.2引用Bower程序包中的
資源250 
16.5本章小結251 

第17章前端與樣式253 
17.1使用樣式表構建網站254 
17.1.1回首往事254 
17.1.2創建自己的樣式表256 
17.2使樣式更時髦257 
17.2.1 SCSS基礎258 
17.2.2創建Mixin 262 
17.2.3組合Mixin和指令263 
17.3建立開發工作流263 
17.3.1使用命令行工具264 
17.3.2結合Visual Studio Code 264 
17.3.3修改項目的生成任務264 
17.4使用第三方框架265 
17.4.1擴展CSS框架266 
17.4.2自定義CSS框架的基本面266 
17.4.3在自定義樣式表中利用CSS框架267 
17.4.4 CSS框架的替代品268 
17.5本章小結268 

第18章緩存269 
18.1緩存控制(Cache-Control)頭270 
18.2使用Data-Cache 273 
18.2.1內存緩存273 
18.2.2分佈式緩存274 
18.3緩存的限度276
18.4本章小結276 

第Ⅳ部分迭代回顧:最後衝刺

第19章可重用組件279 
19.1標籤助手280 
19.1.1一個標籤助手的組成
部分280 
19.1.2 Script/Link/Environment 
標籤助手280 
19.1.3 cache標籤助手282 
19.1.4創建標籤助手283 
19.2視圖組件286 
19.2.1調用視圖組件287 
19.2.2聯繫客戶服務視圖
組件287 
19.3局部視圖289 
19.4本章小結290 

第20章測試291 
20.1單元測試291 
20.1.1 xUnit 292 
20.1.2 JavaScript測試304 
20.2其他測試類型308 
20.3本章小結308 

第21章可擴展性309 
21.1約定310 
21.2中間件312 
21.2.1配置管道312 
21.2.2編寫自己的中間件314 
21.2.3管道分支315 
21.3加載外部的控制器和視圖316 
21.3.1從外部項目中加載視圖317
21.3.2從外部程序集中加載
控制器317 
21.4路由318 
21.4.1特性路由319 
21.4.2高級路由320 
21.5 dotnet工具320 
21.6 JavaScript服務和同構
應用程序321 
21.6.1同構應用程序321 
21.6. 2 Node服務322 
21.7本章小結322 

第22章國際化323 
22.1可本地化的文本325 
22.1.1字符串本地化325 
22.1.2視圖本地化328 
22.1.3數據修飾特性328 
22.1.4共享資源文件329 
22.2設置當前的區域性330 
22.3本章小結333 

第23章重構,改善代碼質量335 
23.1什麼是重構336 
23.2測量質量337 
23.3尋找重構時機338 
23.4安全重構339 
23.5數據驅動修改346 
23.6代碼清理示例346 
23.7工具來相助350 
23.8收穫品質351 
23.9本章小結351 

第24章組織代碼353 
24.1倉庫結構354
24.2源代碼內的結構354 
24.3平行結構355 
24.4 MediatR 356 
24.4.1消息模式簡介356 
24.4.2實現中介者模式357 
24.5區域360 
24.6本章小結361 
後記363