注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合ASP.NET MVC 4實(shí)戰(zhàn)

ASP.NET MVC 4實(shí)戰(zhàn)

ASP.NET MVC 4實(shí)戰(zhàn)

定 價(jià):¥69.00

作 者: (美)Jeffrey Palermo,Jimmy Bogard,Eric Hexter,Matthew Hinze 著,徐燕萍,李萍,林逸 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: ASP 程序設(shè)計(jì) 計(jì)算機(jī)/網(wǎng)絡(luò)

ISBN: 9787115343680 出版時(shí)間: 2014-05-01 包裝: 平裝
開本: 16開 頁數(shù): 344 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《ASP.NET MVC 4實(shí)戰(zhàn)》講解深入到ASP.NET MVC開發(fā)內(nèi)部,可作為在.NET平臺(tái)上開發(fā)Web應(yīng)用程序的程序員的一本很好的指南。《ASP.NET MVC 4實(shí)戰(zhàn)》分為3部分,共24章。第1部分(第1~4章)介紹ASP.NET MVC框架,通過創(chuàng)建一個(gè)簡(jiǎn)單的留言簿應(yīng)用程序,解釋該框架的核心概念。第2部分(第5~15章)涉及幾個(gè)在使用ASP.NET MVC時(shí)需要理解的重要的主題,包括驗(yàn)證、Ajax、安全性和路由,并用一些具體示例以闡述這些概念。此外,這部分還講解了一些編程技巧,例如,如何構(gòu)建視圖專用模型和輕量控制器。最后講解了如何在MVC應(yīng)用程序中利用第三方的NHibernate項(xiàng)目進(jìn)行數(shù)據(jù)訪問。第3部分(第16~24章)探討了幾個(gè)高級(jí)主題,主要側(cè)重于框架的可擴(kuò)展點(diǎn),包括如何擴(kuò)展控制器、如何使用依賴性注入,以及如何擴(kuò)展區(qū)域以使得它們易于可重新分發(fā)。第23章和第24章涉及移動(dòng)布局和Web API,這些是以前的ASP.NET MVC版本不能向后兼容的特性。《ASP.NET MVC 4實(shí)戰(zhàn)》適合希望采用ASP.NET MVC技術(shù)從事Web應(yīng)用程序開發(fā)的人員閱讀,也可作為大專院校教授ASP.NET MVC開發(fā)技術(shù)的教材,也可供從事軟件設(shè)計(jì)與開發(fā)的相關(guān)技術(shù)人員參考。

作者簡(jiǎn)介

  Jeffrey Palermo是兩個(gè)孩子(Gwyneth Rose和Xander)的爸爸,也是一個(gè)幸運(yùn)的丈夫。在空余時(shí)間,他喜歡笨拙地彈奏吉他和學(xué)習(xí)有關(guān)業(yè)務(wù)。在業(yè)務(wù)領(lǐng)域,他是以Austin(奧斯汀,得克薩斯州府)為基地的軟件咨詢公司Headspring的總裁兼COO(首席運(yùn)營(yíng)官)。Jeffrey領(lǐng)導(dǎo)了Headspring咨詢業(yè)務(wù)的成長(zhǎng)―從一個(gè)小型的開發(fā)公司成長(zhǎng)為一個(gè)數(shù)百萬美元的軟件定制公司。認(rèn)識(shí)到軟件歷史、趨勢(shì)、潮流和持續(xù)搖擺就是技術(shù)產(chǎn)業(yè),Jeffrey一直在尋求一種更好的構(gòu)建軟件方式―他能夠在其中使用新的技術(shù)而又不失過去的優(yōu)勢(shì)。他常常忽視產(chǎn)業(yè)潮流,而倡導(dǎo)適度、簡(jiǎn)單的辦法。Jeffrey自2006年起便被微軟認(rèn)定為MVP。他在很多業(yè)界會(huì)議,如VSLive、DevTeach、微軟MVP峰會(huì),各種ALT.NET會(huì)議,以及Microsoft Tech Ed上做過演講或起過推動(dòng)作用。他也曾作為INETA演講者協(xié)會(huì)(INETA Speakers’Bureau)的成員,為全國(guó)的用戶組做過演講。他畢業(yè)于Texas A&M大學(xué),是老鷹童子軍獎(jiǎng)?wù)芦@得者、伊拉克戰(zhàn)爭(zhēng)老兵,目前正在Jack Welch管理學(xué)院學(xué)習(xí)MBA課程。Jeffrey Palermo還負(fù)責(zé)流行的“Palermo聚會(huì)”(作者發(fā)起的聚會(huì)―譯者注)活動(dòng),該活動(dòng)往往安排在以微軟技術(shù)為主題的會(huì)議前夕?!癙alermo聚會(huì)”始于2005年6月,已經(jīng)越來越流行,參與人數(shù)也越來越多。每次活動(dòng)一般都有數(shù)百人參加,提供免費(fèi)的飲料、美食和抽獎(jiǎng)。這是在會(huì)議開始前一周聯(lián)絡(luò)朋友和同事的最佳方式。你可以在http://partywithpalermo.com看到已舉辦和即將舉辦的聚會(huì)。該網(wǎng)站自2007年10月便運(yùn)行在ASP.NET MVC上。最后,Jeffrey和Eric Hexter一起創(chuàng)立了MvcContrib開源項(xiàng)目。如今,該項(xiàng)目可以在微軟CodePlex基金會(huì)的主頁上找到,它是其非盈利軟件庫中被接納的第一個(gè)非軟件項(xiàng)目。Jeffrey Palermo是兩個(gè)孩子(Gwyneth Rose和Xander)的爸爸,也是一個(gè)幸運(yùn)的丈夫。在空余時(shí)間,他喜歡笨拙地彈奏吉他和學(xué)習(xí)有關(guān)業(yè)務(wù)。在業(yè)務(wù)領(lǐng)域,他是以Austin(奧斯汀,得克薩斯州府)為基地的軟件咨詢公司Headspring的總裁兼COO(首席運(yùn)營(yíng)官)。Jeffrey領(lǐng)導(dǎo)了Headspring咨詢業(yè)務(wù)的成長(zhǎng)―從一個(gè)小型的開發(fā)公司成長(zhǎng)為一個(gè)數(shù)百萬美元的軟件定制公司。認(rèn)識(shí)到軟件歷史、趨勢(shì)、潮流和持續(xù)搖擺就是技術(shù)產(chǎn)業(yè),Jeffrey一直在尋求一種更好的構(gòu)建軟件方式―他能夠在其中使用新的技術(shù)而又不失過去的優(yōu)勢(shì)。他常常忽視產(chǎn)業(yè)潮流,而倡導(dǎo)適度、簡(jiǎn)單的辦法。Jeffrey自2006年起便被微軟認(rèn)定為MVP。他在很多業(yè)界會(huì)議,如VSLive、DevTeach、微軟MVP峰會(huì),各種ALT.NET會(huì)議,以及Microsoft Tech Ed上做過演講或起過推動(dòng)作用。他也曾作為INETA演講者協(xié)會(huì)(INETA Speakers’Bureau)的成員,為全國(guó)的用戶組做過演講。他畢業(yè)于Texas A&M大學(xué),是老鷹童子軍獎(jiǎng)?wù)芦@得者、伊拉克戰(zhàn)爭(zhēng)老兵,目前正在Jack Welch管理學(xué)院學(xué)習(xí)MBA課程。Jeffrey Palermo還負(fù)責(zé)流行的“Palermo聚會(huì)”(作者發(fā)起的聚會(huì)―譯者注)活動(dòng),該活動(dòng)往往安排在以微軟技術(shù)為主題的會(huì)議前夕?!癙alermo聚會(huì)”始于2005年6月,已經(jīng)越來越流行,參與人數(shù)也越來越多。每次活動(dòng)一般都有數(shù)百人參加,提供免費(fèi)的飲料、美食和抽獎(jiǎng)。這是在會(huì)議開始前一周聯(lián)絡(luò)朋友和同事的最佳方式。你可以在http://partywithpalermo.com看到已舉辦和即將舉辦的聚會(huì)。該網(wǎng)站自2007年10月便運(yùn)行在ASP.NET MVC上。最后,Jeffrey和Eric Hexter一起創(chuàng)立了MvcContrib開源項(xiàng)目。如今,該項(xiàng)目可以在微軟CodePlex基金會(huì)的主頁上找到,它是其非盈利軟件庫中被接納的第一個(gè)非軟件項(xiàng)目。Jimmy Bogard是Headspring的一位技術(shù)架構(gòu)師。他是一位具有6年專業(yè)開發(fā)經(jīng)驗(yàn)的Agile軟件開發(fā)人員。他為許多客戶提供從概念到產(chǎn)品的系統(tǒng)解決方案,這些方案涵蓋了小型產(chǎn)品到財(cái)富百?gòu)?qiáng)的企業(yè)級(jí)電子商務(wù)應(yīng)用。他還是一位MCAD(Microsoft Certified Application Developer,微軟認(rèn)證的應(yīng)用程序開發(fā)專家),也是.NET社區(qū)的一位活躍的成員,領(lǐng)導(dǎo)著開源項(xiàng)目,提供技術(shù)陳述,并促進(jìn)圖書俱樂部。目前,Jimmy是NBehave項(xiàng)目(一個(gè).NET的行為驅(qū)動(dòng)開發(fā)框架)和AutoMapper(一個(gè)基于約定的“對(duì)象-對(duì)象”映射器)的首席開發(fā)人員,他是Austin Domain-Driven Design Book Club(Austin域驅(qū)動(dòng)設(shè)計(jì)圖書俱樂部)的主持人。Jimmy是ASPInsiders和C# Insiders小組的成員,并于2009年獲

圖書目錄

目 錄
第1部分 快速基礎(chǔ)
第1章 緒論 2
1.1 發(fā)展階段 2
1.1.1 .NET平臺(tái) 2
1.1.2 ASP.NET Web Form 3
1.2 ASP.NET MVC是什么 4
1.2.1 MVC模式 5
1.2.2 ASP.NET MVC的好處 5
1.3 ASP.NET MVC 3/4的新特性 6
1.3.1 Razor視圖引擎 6
1.3.2 NuGet包管理 7
1.3.3 改進(jìn)的可擴(kuò)展性 7
1.3.4 全局動(dòng)作過濾器 7
1.3.5 動(dòng)態(tài)語言特性 8
1.3.6 部分頁面輸出緩存 8
1.3.7 Ajax改進(jìn) 8
1.3.8 驗(yàn)證改進(jìn) 8
1.4 小結(jié) 8
第2章 第一個(gè)MVC應(yīng)用程序 9
2.1 設(shè)置開發(fā)環(huán)境 9
2.2 創(chuàng)建第一個(gè)MVC應(yīng)用程序 11
2.2.1 創(chuàng)建新項(xiàng)目 11
2.2.2 漫游默認(rèn)項(xiàng)目模板(的結(jié)構(gòu)) 13
2.2.3 控制器、動(dòng)作,以及顯示動(dòng)態(tài)內(nèi)容 14
2.3 Guestbook示例應(yīng)用程序 18
2.3.1 創(chuàng)建數(shù)據(jù)庫 18
2.3.2 添加模型 20
2.3.3 接受留言簿條目 24
2.3.4 顯示留言簿條目 27
2.3.5 用布局定制外觀 29
2.4 小結(jié) 31
第3章 視圖基礎(chǔ) 32
3.1 視圖簡(jiǎn)介 32
3.1.1 選擇待渲染視圖 32
3.1.2 重寫視圖名 33
3.2 給視圖傳遞數(shù)據(jù) 33
3.2.1 ViewDataDictionary 34
3.2.2 ViewBag 35
3.2.3 帶有視圖模型的強(qiáng)類型視圖 36
3.2.4 在視圖中顯示視圖模型數(shù)據(jù) 37
3.3 使用強(qiáng)類型模板 41
3.3.1 EditorFor和DisplayFor模板 41
3.3.2 內(nèi)建模板 43
3.3.3 選擇模板 44
3.3.4 定制模板 46
3.4 小結(jié) 49
第4章 充滿動(dòng)作的控制器 50
4.1 考察控制器和動(dòng)作 50
4.1.1 IController與控制器基類 51
4.1.2 如何形成動(dòng)作方法 52
4.2 哪些應(yīng)該放在動(dòng)作方法中 54
4.2.1 手動(dòng)映射視圖模型 54
4.2.2 輸入驗(yàn)證 56
4.3 單元測(cè)試介紹 58
4.3.1 使用已提供的測(cè)試項(xiàng)目 59
4.3.2 測(cè)試GuestbookController 60
4.4 小結(jié) 65
第2部分 使用ASP.NET MVC
第5章 視圖模型 67
5.1 什么是視圖模型 67
5.1.1 在線商店示例 68
5.1.2 建立視圖模型 69
5.1.3 交付表現(xiàn)模型 69
5.1.4 ViewData.Model 70
5.2 表現(xiàn)用戶輸入 71
5.2.1 設(shè)計(jì)(輸入)模型 71
5.2.2 在視圖中表示輸入模型 72
5.2.3 使用提交的輸入 73
5.3 用于顯示和輸入的復(fù)雜模型 74
5.3.1 設(shè)計(jì)顯示和輸入的組合模型 74
5.3.2 使用輸入模型 74
5.4 小結(jié) 75
第6章 驗(yàn)證 76
6.1 服務(wù)器端驗(yàn)證 76
6.1.1 Data Annotations驗(yàn)證 76
6.1.2 擴(kuò)展ModelMetadataProvider 79
6.2 客戶端驗(yàn)證 81
6.2.1 客戶端驗(yàn)證初步 82
6.2.2 使用RemoteAttribute 83
6.2.3 創(chuàng)建自定義客戶端驗(yàn)證器 84
6.3 小結(jié) 86
第7章 ASP.NET MVC中的Ajax 87
7.1 使用jQuery的Ajax 87
7.1.1 jQuery初步 88
7.1.2 使用jQuery形成Ajax請(qǐng)求 89
7.1.3 漸進(jìn)式增強(qiáng) 91
7.1.4 使用Ajax提交表單數(shù)據(jù) 93
7.2 ASP.NET MVC的Ajax輔助器 95
7.2.1 Ajax.ActionLink 97
7.2.2 Ajax.BeginForm 98
7.2.3 Ajax選項(xiàng) 99
7.2.4 與ASP.NET MVC早期版本的差別 99
7.3 使用JSON和客戶端模板的Ajax 100
7.3.1 使用JSON的Ajax 100
7.3.2 客戶端模板 104
7.3.3 最后潤(rùn)色 106
7.4 創(chuàng)建自動(dòng)完成的文本框 108
7.5 小結(jié) 112
第8章 安全性 113
8.1 認(rèn)證與授權(quán) 113
8.1.1 以AuthorizeAttribute限制訪問 113
8.1.2 AuthorizeAttribute的工作機(jī)制 115
8.2 跨網(wǎng)站腳本攻擊(XSS) 116
8.2.1 動(dòng)作中的XSS 117
8.2.2 避免XSS漏洞 118
8.3 跨網(wǎng)站請(qǐng)求偽造(XSRF) 120
8.3.1 XSRF的運(yùn)作 120
8.3.2 防止XSRF 121
8.3.3 JSON劫持 122
8.4 小結(jié) 125
第9章 以路由控制URL 126
9.1 介紹URL路由 126
9.1.1 默認(rèn)路由 126
9.1.2 入站與出站路由 128
9.2 設(shè)計(jì)URL方案 129
9.2.1 建立簡(jiǎn)單、整潔的URL 129
9.2.2 建立可破解的URL 130
9.2.3 使用URL參數(shù)區(qū)分請(qǐng)求 130
9.2.4 盡可能避免暴露數(shù)據(jù)庫ID 131
9.2.5 考慮添加多余信息 131
9.3 在ASP.NET MVC中實(shí)現(xiàn)路由 133
9.3.1 在線商店的URL方案 133
9.3.2 添加自定義靜態(tài)路由 134
9.3.3 添加自定義的動(dòng)態(tài)路由 134
9.3.4 全匹配路由 137
9.4 使用路由系統(tǒng)生成URL 138
9.5 ASP.NET Web Form的路由 139
9.5.1 添加Web Form頁面的路由 140
9.5.2 通過Web Form頁面生成URL 142
9.6 調(diào)試路由 143
9.6.1 安裝Route Debugger 143
9.6.2 使用Route Debugger 144
9.6.3 使用路由約束 145
9.7 測(cè)試路由行為 147
9.7.1 測(cè)試入站路由 147
9.7.2 測(cè)試出站路由 151
9.8 小結(jié) 152
第10章 模型綁定器與值提供器 153
10.1 創(chuàng)建自定義模型綁定器 153
10.2 使用自定義值提供器 158
10.3 小結(jié) 164
第11章 利用AutoMapper進(jìn)行映射 165
11.1 AutoMapper之前的生活 165
11.2 AutoMapper介紹 168
11.2.1 映射匹配的屬性名字 168
11.2.2 平整對(duì)象層次 168
11.3 AutoMapper基礎(chǔ) 169
11.3.1 AutoMapper初始化 169
11.3.2 AutoMapper簡(jiǎn)檔 170
11.3.3 健全性檢查 170
11.3.4 減少重復(fù)的格式化代碼 171
11.3.5 另一種視圖 173
11.4 小結(jié) 173
第12章 輕量級(jí)控制器 174
12.1 控制器為何要輕量級(jí) 174
12.1.1 易于維護(hù) 174
12.1.2 易于測(cè)試 175
12.1.3 聚焦的職責(zé) 175
12.2 簡(jiǎn)化控制器的技術(shù) 177
12.2.1 管理常用視圖數(shù)據(jù) 177
12.2.2 派生動(dòng)作結(jié)果 180
12.2.3 使用應(yīng)用程序總線 182
12.3 小結(jié) 185
第13章 利用區(qū)域進(jìn)行組織 186
13.1 創(chuàng)建一個(gè)基本的區(qū)域 186
13.2 用T4MVC管理鏈接和URL 191
13.3 小結(jié) 193
第14章 第三方組件 194
14.1 學(xué)習(xí)NuGet 194
14.1.1 更新包 195
14.1.2 理解NuGet基礎(chǔ) 195
14.2 使用ASP.NET的Web輔助器 196
14.3 MvcContrib Grid組件 198
14.3.1 使用MvcContrib Grid 198
14.3.2 MvcContrib Grid高級(jí)用法 199
14.4 小結(jié) 200
第15章 以NHibernate進(jìn)行數(shù)據(jù)訪問 201
15.1 參考實(shí)現(xiàn)的功能概述 201
15.2 應(yīng)用程序體系架構(gòu)概述 202
15.3 考察內(nèi)核 204
15.4 NHibernate配置——應(yīng)用程序的底層架構(gòu) 206
15.4.1 NHibernate的配置 207
15.4.2 NHibernate映射——簡(jiǎn)單但功能強(qiáng)大 208
15.4.3 初始化配置 210
15.5 通過UI表現(xiàn)模型 215
15.6 共同協(xié)作 218
15.7 小結(jié) 220
第3部分 掌握ASP.NET MVC
第16章 擴(kuò)展控制器 222
16.1 控制器可擴(kuò)展性 222
16.2 控制器動(dòng)作 223
16.3 動(dòng)作、授權(quán)與結(jié)果過濾器 224
16.4 動(dòng)作選擇器 226
16.5 使用動(dòng)作結(jié)果降低復(fù)雜性 227
16.5.1 利用動(dòng)作結(jié)果消除復(fù)制 227
16.5.2 使用動(dòng)作結(jié)果抽象難以測(cè)試的依賴性 229
16.6 小結(jié) 230
第17章 高級(jí)視圖技術(shù) 231
17.1 消除視圖中的復(fù)制 231
17.1.1 布局 232
17.1.2 分部 234
17.1.3 子動(dòng)作 235
17.2 構(gòu)建查詢字符串參數(shù)列表 237
17.3 考察Spark視圖引擎 239
17.3.1 安裝與配置Spark 240
17.3.2 簡(jiǎn)單的Spark視圖示例 241
17.4 小結(jié) 246
第18章 依賴性注入與可擴(kuò)展性 247
18.1 依賴性注入簡(jiǎn)介 248
18.1.1 什么是DI 248
18.1.2 使用構(gòu)造器注入 249
18.1.3 接口介紹 250
18.1.4 使用DI容器 251
18.2 在ASP.NET MVC中使用DI 252
18.2.1 自定義控制器工廠 253
18.2.2 使用依賴性解析器 256
18.3 小結(jié) 260
第19章 便攜式區(qū)域 261
19.1 NuGet打包基礎(chǔ) 261
19.1.1 一個(gè)簡(jiǎn)單的待打包區(qū)域 262
19.1.2 使用便攜式區(qū)域 263
19.2 創(chuàng)建一個(gè)便攜式區(qū)域的RSS部件 265
19.3 與便攜式區(qū)域總線之間的交互 268
19.4 小結(jié) 269
第20章 完整的系統(tǒng)測(cè)試 270
20.1 測(cè)試UI層 270
20.1.1 安裝測(cè)試軟件 271
20.1.2 漫游手工測(cè)試 272
20.1.3 自動(dòng)化測(cè)試 274
20.1.4 運(yùn)行測(cè)試 275
20.2 建立可維護(hù)的導(dǎo)航 276
20.3 與表單的交互 279
20.4 斷言結(jié)果 282
20.5 小結(jié) 287
第21章 托管ASP.NET MVC應(yīng)用程序 288
21.1 托管環(huán)境 288
21.2 XCOPY部署 289
21.3 IIS 7 292
21.4 IIS 6與5.1 294
21.5 Azure托管 296
21.5.1 什么是Windows Azure,如何獲取它 297
21.5.2 為Azure部署配置應(yīng)用程序 301
21.5.3 打包并部署應(yīng)用程序 307
21.5.4 訪問在Windows Azure中運(yùn)行的應(yīng)用程序 311
21.6 小結(jié) 312
第22章 部署技術(shù) 313
22.1 部署持續(xù)集成 313
22.2 啟用按鈕式XCOPY部署 315
22.3 管理環(huán)境配置 316
22.4 用Web Deploy啟用遠(yuǎn)程服務(wù)器部署 318
22.5 小結(jié) 321
第23章 升級(jí)到ASP.NET MVC 4 322
23.1 DisplayModes的運(yùn)行時(shí)視圖選擇 322
23.1.1 使用移動(dòng)的DisplayMode 322
23.1.2 創(chuàng)建新的DisplayModes 324
23.1.3 使用戶能夠重寫DisplayModes 326
23.2 組合并最小化客戶端資源 328
23.3 對(duì)Razor的改進(jìn) 330
23.3.1 自動(dòng)化的“波浪線-斜線”解析 330
23.3.2 條件屬性 331
23.4 小結(jié) 332
第24章 ASP.NET Web API 333
24.1 Web API是什么 333
24.1.1 為什么要用Web API 333
24.1.2 Web API與WCF的區(qū)別 334
24.2 為Guestbook應(yīng)用程序添加Web服務(wù) 337
24.2.1 創(chuàng)建GET型的Web服務(wù) 337
24.2.2 創(chuàng)建POST型的Web服務(wù) 339
24.3 Web API的可選辦法 342
24.4 小結(jié) 343

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)