《ASP.NET夜話》是2009年電子工業出版社出版的圖書,作者是周金橋。
基本介紹
內容簡介,作者簡介,推薦語,前言,本書有些什麼,閱讀前的準備,如何閱讀本書,目錄,第1章 .NET介紹 2,第2章 .NET基礎 10,第3章 表單和控制項 23,第4章 Visual Studio 2008介紹 32,第5章 Page類和回調技術 46,第6章 .NET基本控制項 68,第7章 .NET介紹 90,第8章 數據綁定控制項 115,第9章 驗證控制項 145,第10章 複合控制項和母板頁 172,目錄2 進 階 知 識,第11章 web.config詳解 196,第12章 .NET底層探秘 214,第13章 .NET中的AJAX開發 238,第14章 分散式開發 266,第15章 .NET中的三層架構 287,第16章 單元測試 311,第17章 .NET中的GDI+技術 322,目錄3 高 級 知 識,第18章 .NET報表技術 338,第19章 .NET的檔案IO體系和,第20章 數據安全技術 388,第21章 .NET網站的性能最佳化 407,第22章 綜合實例 425,
內容簡介
本書是筆者對多年項目開發的總結,著重講述如何利用.NET開發出高效率和高安全性的Web應用程式,通過由淺入深、循序漸進的方式講解在.NET開發中涉及的方方面面。
本書適合於大專院校計算機系的學生閱讀,同時也適合初、中級Web開發人員,以及希望了解.NET企業級開發的編程愛好者使用。
本書從。NET的基礎出發,在適當的地方加以延伸和拓展,使之更貼近企業開發。書中系統地講解了。NET企業開發的多個層面,主要知識點包括:表單知識、.NET運行機制、Visual Studio 2008技巧、ASP.NET伺服器控制項的使用、SQL注入防範、單元測試、三層架構、報表、數據加密/解密、GDI+、ADO.NET、分散式開發、AJAX開發及靜態頁面生成技術、高性能ASP.NET應用程式開發等,在最後一章以一個實際項目來演示如何將本書所講的知識點套用到實際項目開發中。
作者簡介
本書的作者周金橋2002年畢業於江漢石油學院(長江大學的前身)建築工程系,畢業後在天津大港油田集團參加工作,2006年辭職前往山西,同年擔任微軟山西.NET俱樂部技術負責人,於2008年和2009年獲得微軟最有價值專家稱號(MVP)。
推薦語
本書的作者周金橋具有多年的.NET開發經驗,微軟最有價值專家(Microsoft MVP),本書很多知識點都來自於他的經驗總結。本書的一大特點是在講述基本原理的同時還會適當地延伸,使知識點能與實際項目結合起來,使之更適合指導實際開發。本書不僅僅是在簡單地陳述知識點,在書中還列舉了大量的容易混淆的知識點的對比。本書內容從難易程度上劃分為基礎知識部分、進階知識部分和高級知識部分,非常值得一讀。
本書的基礎知識部分攜讀者回顧了.NET的基礎、基本控制項、表單、數據綁定控制項、驗證控制項等,並介紹了Visual Studio 2008。此部分內容可以幫助初學者和初級開發人員對於.NET有一個整體了解並掌握其內容。進階知識部分作為基礎知識的延續,向中級開發人員講述了web.config詳解、.NET中的AJAX開發和.NET中的三層架構等內容。高級知識部分講解了開發高性能.NET應用程式涉及的問題,並以一個綜合實例來講述知識點在實際項目中的套用。
前言
算算從事軟體開發已經有好幾個年頭了,在這些年開發了多少個網站我自己也記不清了。每次在開發中遇到問題解決以後我總喜歡把解決過程記錄下來放在網上,以備自己隨時查閱,直到有一天有一個朋友跟我說他在開發過程中每次遇到問題總能發現我也曾遇到過類似的問題,向我致謝的同時還建議我將這些問題整理成一個系統的知識系統,我當時接受了這個建議。
2008年9月,我整理出第一篇文章放在我的部落格上,我以為沒有人會在意,沒有想到當天就有大量的朋友在我的部落格上給我好評,鼓勵我繼續整理下去,正是有這樣一群朋友熱情的鼓勵,給了我無窮的動力,所以儘管每天回家都已經很晚很累了,但是我仍會打開筆記本繼續奮鬥,力爭早一日讓大家看到我的成果。我清楚地記得第一篇文章是從晚上9點開始寫,到凌晨才結束的,因為我打算將它寫成一個系列文章,冥思苦想之後我把這個系列文章起名為《.NET夜話》。之所以叫夜話,是因為我每天白天都在上班,寫這個系列文章的時候都是夜晚甚至凌晨。我喜歡品茶,在寫本書的過程中我都是一邊品茶一邊寫作,每每沒有思路的時候品茶總能給我靈感,讓我繼續寫下去。
正因為寫作的時候我在品茶,所以我是以一種寫散文的形式來寫作本書,寫完本章之後下一章寫什麼都是由當時的靈感來決定,而不是事先預計好的,也正是因為這樣,所以本書在大多數章節中都會著重講解一些知識點,然後對相關的知識點做一個延伸和拓展,這樣就不會拘泥於每一個細節之中。當然,既然決定把本書當做散文來做,要做到形散而神不散,在寫作過程中我還是有所側重的,那就是一切都基於企業開發所用到的知識點,整本書講解的就是企業開發的方方面面。我相信讀者在閱讀本書時也會有這種體會。
本書有些什麼
既然在寫作過程中我是抱著寫散文的心態去寫的,那么書中的章節大多數並沒有嚴格意義上的先後順序,所以讀者朋友可以從任何一個感興趣的章節去讀。不過,在這裡筆者要告訴讀者,本書不是一本介紹.NET API的書,書中列出了不少類、方法及控制項,這些都是筆者在開發中經常用到的,所以書中把它們單獨列出來講解。
按照寫作時的安排,我將整本書分作三個部分:基礎知識、進階知識和高級知識。基本知識點主要偏重.NET開發的基礎知識,初學者和初級開發人員應力求掌握這一部分;進階知識基於基礎知識進行拓展和延伸,中級開發人員應著重掌握這部分內容;高級知識講解了開發高性能.NET應用程式涉及的問題,並以一個綜合實例來講述知識點在實際項目中的套用。
閱讀前的準備
本書中的代碼基於Visual Studio 2008和SQL Server 2005,因為經常需要訪問數據,所以在閱讀本書時要安裝上這個兩個軟體;然後將配書光碟中的資料庫附加到SQL Server 2005中,再按照本機的實際情況在web.config中配置資料庫連線字元串。此外,在書中還提到了不少的第三方軟體,請讀者到網上下載這些軟體並安裝。
如何閱讀本書
散文一樣的寫作方式決定了在閱讀本書時完全不必按照本書的章節順序來閱讀本書,可以從任何一個感興趣的章節開始閱讀。不過,如果想紮實地掌握.NET開發技巧,我建議你不管以什麼順序來閱讀,但是一定要閱讀本書的每一個章節。
目錄
第1章 .NET介紹 2
1.1 XHTML語言 2
1.2 靜態網頁 3
1.3 動態網頁 3
1.4 IIS的安裝和配置 3
1.5 .NET開發的預備知識 4
1.5.1 .NET簡介 4
1.5.2 在IIS上配置.NET 4
1.5.3 Visual Studio版本與
1.5.3 .NET Framework版本及
1.5.3 .NET版本之間的關係 7
1.5.4 .NET運行內幕 7
1.6 結論 9
第2章 .NET基礎 10
2.1 Request對象 10
2.2 Response對象 11
2.3 Server對象 13
2.4 Session對象 14
2.5 Cookie對象 15
2.6 Application對象 16
2.7 ViewState對象 18
2.8 <%%>表達式 20
2.9 <%=%>表達式 20
2.10 目錄運算符 22
2.11 總結 22
第3章 表單和控制項 23
3.1 HTML表單的提交方式 23
3.2 HTML控制項 25
3.3 獲取HTML控制項的值 25
3.4 SQL注入 26
3.5 亂碼問題 26
3.6 伺服器端表單 28
3.7 HTML伺服器控制項 28
3.8 總結 31
第4章 Visual Studio 2008介紹 32
4.1 Visual Studio 2008網站
4.1 開發環境介紹 32
4.2 .NET網站類型介紹 33
4.3 創建基於解決方案的.NET
4.3 應用程式 35
4.4 .NET內置資料夾介紹 36
4.5 XML注釋 37
4.6 任務管理器 38
4.7 配置外部工具 39
4.8 代碼段管理器 40
4.9 發布.NET網站 44
4.10 總結 45
第5章 Page類和回調技術 46
5.1 Page類介紹 46
5.1.1 單檔案頁模型 46
5.1.2 代碼隱藏頁模型 48
5.2 .NET頁面的生命周期 50
5.3 利用Page的事件進行統一
5.3 身份驗證 52
5.4 IsPostBack屬性 54
5.5 ValidateRequest屬性 55
5.6 ClientScript屬性 56
5.7 回調技術 60
5.8 總結 67
第6章 .NET基本控制項 68
6.1 .NET伺服器控制項簡介 68
6.2 Button控制項 69
6.3 TextBox控制項 75
6.4 .NET伺服器控制項的特殊
6.4 客戶端事件 78
6.5 FileUpload控制項 81
6.6 Literal控制項 84
6.7 Panel控制項 86
6.8 PlaceHolder控制項 88
6.9 總結 89
第7章 .NET介紹 90
7.1 .NET簡介 90
7.2 Connection對象 93
7.3 Command對象 100
7.4 DataReader對象 101
7.5 DataAdapter對象 105
7.6 DataSet對象 105
7.7 DataTable對象 108
7.8 參數化SQL語句 110
7.9 分頁查詢SQL語句 111
7.10 總結 114
第8章 數據綁定控制項 115
8.1 DropDownList控制項 116
8.2 ListBox控制項 118
8.3 數據綁定表達式 120
8.4 GridView控制項 122
8.5 DataList控制項 133
8.6 Repeater控制項 136
8.7 Form View控制項 138
8.8 DetailsView控制項 141
8.9 總結 144
第9章 驗證控制項 145
9.1 數據驗證介紹 145
9.2 客戶端腳本驗證 146
9.3 .NET驗證控制項概述 148
9.4 RequiredFieldValidator控制項 149
9.5 CompareValidator控制項 151
9.6 RangeValidator控制項 155
9.7 正則表達式 157
9.8 RegularExpressionValidator控制項 159
9.9 CustomValidator控制項 161
9.10 ValidationSummary控制項 165
9.11 分組驗證技術 167
9.12 總結 170
第10章 複合控制項和母板頁 172
10.1 TreeView控制項 172
10.2 MultiView控制項 176
10.3 用JavaScript方式實現
10.3 選項卡式效果 181
10.4 WiZard控制項 186
10.5 MasterPage母板頁 190
10.6 總結 194
目錄2 進 階 知 識
第11章 web.config詳解 196
11.1 配置檔案的查找算法 196
11.2 配置檔案節點介紹 198
11.2.1 <configSections>節點 198
11.2.2 <appSettings>節點 199
11.2.3 <connectionStrings>節點 199
11.2.4 <location>節點 199
11.2.5 <system.web>節點 200
11.3 配置檔案的讀/寫操作 209
11.4 總結 213
第12章 .NET底層探秘 214
12.1 .NET底層之旅 214
12.2 IHttpModule接口 217
12.3 HttpApplication及Global.asax 220
12.4 IHttpHandler接口 224
12.4.1 實現自定義檔案類型處理 224
12.4.2 給圖片動態添加水印功能 226
12.4.3 防盜鏈功能 229
12.5 在IIS中配置自己編寫的
12.5 HttpHandler 236
12.6 總結 237
第13章 .NET中的AJAX開發 238
13.1 純JavaScript開發AJAX套用 238
13.2 第三方(AjaxPro)開發
13.2 AJAX套用 246
13.3 微軟AJAX控制項庫開發AJAX套用 254
13.3.1 ScriptManager控制項 254
13.3.2 ScriptManagerProxy控制項 255
13.3.3 UpdatePanel控制項 255
13.3.4 Timer控制項 259
13.3.5 UpdateProgress控制項 260
13.4 總結 265
第14章 分散式開發 266
14.1 分散式計算的概念 266
14.2 XML Web Service開發 266
14.2.1 XML Web Service介紹 266
14.2.2 XML Web Service伺服器端
14.2.2 開發及部署 268
14.2.3 WebService的部署 270
14.2.4 WebService客戶端開發 272
14.2.5 異步調用WebService 274
14.3 WCF開發 276
14.3.1 定義WCF服務契約和引入
14.3.1 WCF服務契約 277
14.3.2 構架WCF服務,運行WCF
14.3.1 服務 281
14.3.3 生成WCF服務代理的
14.3.1 代碼檔案 283
14.3.4 客戶端訪問WCF 285
14.3.5 運行程式 286
14.4 總結 286
第15章 .NET中的三層架構 287
15.1 資料庫通用類 287
15.1.1 SQL Server資料庫訪問
15.1.1 通用類 288
15.1.2 using關鍵字的用法 293
15.2 三層架構的定義及代碼示例 294
15.3 三層架構的特點 309
15.4 對三層架構的一點擴充 309
15.5 總結 310
第16章 單元測試 311
16.1 NUnit簡介 311
16.2 NUnit界面介紹 312
16.2.1 File選單 312
16.2.2 Project選單 313
16.3 NUnit API介紹 313
16.4 利用NUnit進行單元測試 318
16.5 其他的單元測試軟體 320
16.6 總結 321
第17章 .NET中的GDI+技術 322
17.1 GDI+介紹 322
17.2 在數據中保存和顯示圖片 323
17.3 使用GDI+生成圖片 330
17.4 驗證碼實現 331
17.5 總結 335
目錄3 高 級 知 識
第18章 .NET報表技術 338
18.1 OWC控制項的使用 338
18.2 ZedGraph控制項的使用 344
18.3 RDLC報表的使用 349
18.4 總結 355
第19章 .NET的檔案IO體系和
靜態頁面生成技術 356
19.1 .NET中的檔案體系 356
19.1.1 DriveInfo類 356
19.1.2 Directory及DirectoryInfo類 359
19.1.3 File及FileInfo類 362
19.1.4 Path類 366
19.2 .NET中的IO體系 369
19.2.1 基於位元組的流 369
19.2.2 基於字元的流 373
19.3 靜態頁面生成技術 378
19.3.1 為什麼要生成靜態頁面 378
19.3.2 什麼時候生成靜態頁面 379
19.3.3 如何生成靜態頁面 379
19.4 總結 387
第20章 數據安全技術 388
20.1 自定義加密 388
20.2 對稱加密 391
20.3 不對稱加密 398
20.4 加密簽名 402
20.5 加密哈希 403
20.6 總結 406
第21章 .NET網站的性能最佳化 407
21.1 程式編碼最佳化 407
21.1.1 集合操作 407
21.1.2 字元串連線最佳化 410
21.1.3 類型轉換最佳化 413
21.1.4 使用Server.Transfer()方法 414
21.1.5 避免不必要的伺服器往返 414
21.1.6 儘早釋放對象 415
21.1.7 儘量減少伺服器控制項的使用 415
21.2 數據操作最佳化 415
21.2.1 資料庫連線對象使用最佳化 415
21.2.2 數據訪問最佳化 416
21.2.3 最佳化SQL語句 416
21.2.4 合理使用快取 416
21.3 配置最佳化 420
21.3.1 禁用調試模式 420
21.3.2 合理使用ViewState 420
21.3.3 合理選擇會話狀態數據
21.3.3 存儲模式 423
21.4 總結 424
第22章 綜合實例 425
22.1 項目介紹 425
22.2 資料庫設計 426
22.3 實體層設計 429
22.4 數據訪問層設計 433
22.5 業務邏輯層設計 441
22.6 網站項目和單元測試項目說明 447
22.7 總結 448