ASP.NET 4揭秘(卷2)

使用Session 使用Web.con 使用Timer控制項

內容介紹

本書是久負盛譽的ASP.NET著作最新版,有“ASP.NET聖經”之譽。作者因為這一系列著作而榮獲微軟公司社區最高技術榮譽“微軟傳奇人物”稱號。
在新版中,作者延續了循序漸進、深入淺出的敘述風格,本書保持了詳盡全面和代碼密集等諸多優點。與此同時,作者添加了大量新內容,涵蓋ASP.NET 4引入的所有新特性,包括Silverlight、MVC和Entity Framework。卷2是高級篇,主要介紹了ASP.NET的安全性,快取、狀態維護、本地化等構建各種ASP.NET應用程式時所需的關鍵實用技術,自定義控制項的構建以及ASP.NET AJAX技術等。本書廣受讀者稱道,除了文字敘述清晰透徹之外,代碼示例也處處堪稱經典,體現了作者世界級大師的深厚功力。書中所有代碼示例都用C#語言來描述,圖靈網站提供了C#和VB.NET代碼下載。
本書既是絕佳的學習資源,也是可以不斷查閱的必備參考書。

作者介紹

Stephen Walther蜚聲世界的ASP.NET專家,現為微軟公司ASP.NET小組資深程式經理。多次榮獲微軟最有價值專家(MVP)稱號,並榮獲微軟公司社區最高技術榮譽“微軟傳奇人物”稱號。他開發的微軟ASP.NET示範性應用程式ASP.NET Community Starter Kit,麻省理工學院、史丹福大學和哈佛大學等200多所大學使用的Collegescape應用程式,以及拍賣網站www.cityauction.com等,都已經成為經典。本書為其代表著作。
Kevin HoffmanExclaim Computing公司的首席系統架構師,負責為各行業客戶構建自定義架構和套用解決方案。10歲便開始接觸編程,曾為科學儀器、軍事套用、小型企業、財富500強企業編寫各種應用程式。他經常在MSDN Magazine發表文章,且是Kotan Code部落格http://www.kotancode.com)的作者。
Nate DudekExclaim Computing公司的開發組長,經常出席各種會議,撰寫文章,就軟體開發最佳實踐、軟體架構和新技術指導軟體開發人員。過去10年,他為各行業構建並開發了多種軟體,包括電力實時系統、企業資源規劃系統和電子商務系統。他在美國克拉克森大學獲得了計算機科學理學學士學位,輔修了軟體工程和數學。他的技術部落格是Caffeine Dependency Injectionhttp://www.caffeinedi.com)。

作品目錄

第一部分安全
第1章 使用Login控制項 2
1.1 Login控制項概覽 3
1.2 使用Login控制項 6
1.2.1 自動重定向用戶到來源頁面 8
1.2.2 自動隱藏已驗證用戶的Login控制項 8
1.2.3 使用模板定製Login控制項 10
1.2.4 使用Login控制項執行自定義身份驗證 12
1.3 使用CreateUserWizard控制項 14
1.3.1 配置自定義用戶表單欄位 16
1.3.2 傳送已創建用戶電子郵件通知 17
1.3.3 用戶自動重定向來源頁面 20
1.3.4 自動生成密碼 21
1.3.5 在CreateUserWizard控制項中使用模板 26
1.3.6 在CreateUserWizard控制項中添加註冊步驟 29
1.4 使用LoginStatus控制項 31
1.5 使用LoginName控制項 32
1.6 使用ChangePassword控制項 34
1.6.1 傳送電子郵件通知密碼更改 35
1.6.2 在ChangePassword控制項中使用模板 36
1.7 使用PasswordRecovery控制項 39
1.7.1 找回用戶的原始密碼 40
1.7.2 要求安全提示問題和答案 41
1.7.3 在PasswordRecovery控制項中使用模板 42
1.8 使用LoginView控制項 44
1.9 小結 47
第2章 使用ASP.NET Membership 48
2.1 配置身份驗證 48
2.1.1 配置Forms身份驗證 50
2.1.2 使用無cookie的Forms身份驗證 51
2.1.3 在Forms身份驗證中使用相對逾時限制 52
2.1.4 跨應用程式使用Forms身份驗證 52
2.1.5 跨域使用Forms身份驗證 55
2.1.6 使用FormsAuthentication類 56
2.1.7 使用User類 60
2.2 配置安全授權 60
2.2.1 角色授權 62
2.2.2 根據位置授權訪問檔案 62
2.2.3 對圖片以及其他檔案類型進行訪問授權 63
2.3 使用ASP.NET Membership 64
2.3.1 使用Membership API 65
2.3.2 加密和散列用戶密碼 68
2.3.3 修改用戶密碼條件 70
2.3.4 鎖定壞用戶 71
2.3.5 配置SQLMembershipProvider提供程式 73
2.3.6 配置ActiveDirectoryMember-shipProvider 74
2.3.7 創建自定義Membership提供程式 78
2.4 使用角色管理器 80
2.4.1 配置SqlRoleProvider 80
2.4.2 配置WindowsTokenRole-Provider 85
2.4.3 配置AuthorizationStoreRole-Provider 86
2.4.4 在瀏覽器cookie中快取角色 88
2.4.5 使用Roles API 89
2.5 小結 91
第二部分創建ASP.NET應用程式
第3章 維護應用程式狀態 94
3.1 使用瀏覽器cookie 94
3.1.1 cookie的安全性限制 95
3.1.2 創建cookie 96
3.1.3 讀取cookie 98
3.1.4 設定cookie屬性 100
3.1.5 刪除cookie 101
3.1.6 使用多值cookie 103
3.2 使用Session狀態 105
3.2.1 在Session狀態中保存資料庫數據 107
3.2.2 使用Session對象 109
3.2.3 處理Session事件 110
3.2.4 會話失效控制 112
3.2.5 使用無Cookie的Session狀態 112
3.2.6 配置Session狀態存儲 114
3.2.7 配置SQL Server Session狀態 116
3.3 使用用戶配置檔案 119
3.3.1 創建用戶配置檔案組 122
3.3.2 支持匿名用戶 123
3.3.3 合併匿名用戶配置檔案 126
3.3.4 從自定義類繼承Profile 126
3.3.5 創建複雜Profile屬性 128
3.3.6 自動保存用戶配置 133
3.3.7 從組件訪問用戶配置 136
3.3.8 使用配置檔案管理器 138
3.3.9 配置用戶配置提供程式 140
3.3.10 創建自定義用戶配置提供程式 141
3.4 小結 145
第4章 快取應用程式頁面和數據 146
4.1 快取概覽 146
4.2 使用頁面輸出快取 147
4.2.1 使用參數改變輸出快取 148
4.2.2 基於控制項變化的輸出快取 151
4.2.3 基於頭變化的輸出快取 153
4.2.4 基於瀏覽器變化的輸出快取 154
4.2.5 基於自定義函式變化的輸出快取 154
4.2.6 設定快取位置 156
4.2.7 創建頁面輸出快取檔案依賴 157
4.2.8 使用編程方式設定頁面輸出快取過期 159
4.2.9 以編程方式操作頁面輸出快取 163
4.2.10 創建頁面輸出快取配置 164
4.3 使用部分頁面快取 165
4.3.1 使用快取後替換 165
4.3.2 用戶控制項快取 169
4.3.3 共享用戶控制項的輸出快取 171
4.3.4 以編程方式處理用戶控制項快取 172
4.3.5 創建用戶控制項快取的檔案依賴 172
4.3.6 快取動態載入的用戶控制項 174
4.4 使用數據源快取 175
4.4.1 使用絕對快取過期策略 176
4.4.2 使用彈性快取過期策略 177
4.4.3 使用ObjectDataSource控制項快取 179
4.4.4 使用XmlDataSource控制項快取 180
4.4.5 創建DataSource控制項鍵依賴 181
4.5 使用數據快取 184
4.5.1 使用快取API 184
4.5.2 添加項目到快取 186
4.5.3 使用絕對過期策略添加項目 186
4.5.4 使用彈性過期策略添加項目到快取 188
4.5.5 使用依賴添加項目 189
4.5.6 指定快取項目優先權 191
4.5.7 配置快取 191
4.6 使用SQL快取依賴 193
4.6.1 使用輪詢SQL快取依賴 193
4.6.2 配置輪詢SQL快取依賴 194
4.6.3 對頁面輸出快取使用輪詢SQL快取依賴 195
4.6.4 對數據源快取使用輪詢SQL快取依賴 197
4.6.5 對數據快取使用輪詢SQL快取依賴 198
4.6.6 使用推SQL快取依賴 199
4.6.7 配置推SQL快取依賴 200
4.6.8 對頁面輸出快取使用推SQL快取依賴 201
4.6.9 對數據源快取使用推SQL快取依賴 203
4.6.10 對數據快取使用推SQL快取依賴 205
4.7 小結 206
第5章 多語言本地化應用程式 207
5.1 設定當前文化 207
5.1.1 手動設定文化 208
5.1.2 自動檢測文化 214
5.1.3 在Web配置檔案中設定文化 217
5.1.4 文化和ASP.NET控制項 218
5.2 使用CultureInfo類 219
5.2.1 使用CultureInfo類格式化字元串值 219
5.2.2 比較和排序字元串值 221
5.3 創建本地資源 221
5.3.1 顯式本地化表達式 222
5.3.2 隱式本地化表達式 224
5.3.3 對頁面屬性使用本地化資源 226
5.3.4 以編程方式獲取本地資源 227
5.4 創建全局資源 228
5.4.1 以編程方式獲取全局資源 230
5.4.2 使用強類型本地化表達式 231
5.5 使用Localize控制項 232
5.6 小結 233
第6章 使用HTTP運行庫 234
6.1 創建自定義BuildProvider 234
6.1.1 創建簡單的BuildProvider 235
6.1.2 創建數據訪問組件Build-Provider 238
6.2 創建自定義ExpressionBuilder 243
6.3 創建HTTP處理程式 247
6.3.1 創建一般處理程式 247
6.3.2 實現IHttpHandler接口 250
6.3.3 創建異步HTTP處理程式 254
6.4 使用HTTP應用程式和HTTP模組 257
6.4.1 創建Global.asax檔案 258
6.4.2 創建自定義HTTP模組 260
6.5 小結 262
第7章 創建動態數據套用 263
7.1 ASP.NET動態數據介紹 263
7.2 創建動態數據套用 264
7.3 使用動態數據模板 267
7.3.1 修改共享模板 267
7.3.2 創建類型和實體特定的模板 268
7.4 小結 270
第8章 創建ASP.NET MVC套用 271
8.1 ASP.NET MVC框架介紹 271
8.1.1 模型 271
8.1.2 視圖 272
8.1.3 控制器 272
8.2 創建你的第一個ASP.NET MVC套用 272
8.3 創建MVC頁面 274
8.4 接受窗體輸入 276
8.5 小結 277
第9章 配置應用程式 278
9.1 網站配置概覽 278
9.1.1 使用Web站點管理工具 279
9.1.2 使用ASP.NET的MMC嵌入式管理單元 280
9.1.3 ASP.NET配置節 281
9.1.4 把配置設定套用到特定路徑 282
9.1.5 鎖定配置檔案 283
9.1.6 添加自定義應用程式設定 285
9.1.7 將配置設定放到外部檔案 286
9.2 使用配置API 287
9.2.1 從當前應用程式讀取配置節 288
9.2.2 打開配置檔案 291
9.2.3 打開遠程伺服器上的配置檔案 294
9.2.4 使用Configuration類 296
9.2.5 修改配置節 299
9.2.6 準備創建新的網站 301
9.3 創建自定義配置節 304
9.4 創建加密的配置節 312
9.4.1 使用aspnet_regiis工具加密配置節 313
9.4.2 以編程方式加密配置節 313
9.4.3 部署加密的Web配置檔案 316
9.5 小結 318
第10章 部署ASP.NET Web套用 319
10.1 打包Web套用 319
10.2 使用Web.config轉換 322
10.3 部署資料庫 323
10.4 一鍵式發布Web套用 324
10.5 小結 326
第三部分 構建自定義控制項
第11章 構建自定義控制項 328
11.1 構建自定義控制項概述 328
11.1.1 構建完全生成控制項 329
11.1.2 構建組合控制項 337
11.1.3 構建混合控制項 339
11.2 視圖狀態和控制項狀態 344
11.2.1 支持視圖狀態 344
11.2.2 支持控制項狀態 346
11.3 處理回傳數據和事件 349
11.3.1 處理回傳數據 349
11.3.2 處理回傳事件 352
11.4 使用控制項屬性集合 361
11.4.1 使用ParseChildren特性 361
11.4.2 使用AddParsedSubObject()方法 367
11.4.3 使用ControlBuilder 367
11.5 構建更好的設計器體驗 371
11.5.1 給控制項套用設計時特性 371
11.5.2 創建控制項設計器 374
11.5.3 創建ContainerControl-Designer 374
11.5.4 添加智慧型標籤 377
11.6 小結 381
第12章 創建模板化數據綁定控制項 382
12.1 創建模板化控制項 382
12.1.1 實現ITemplate接口 382
12.1.2 創建默認模板 385
12.1.3 支持簡化的數據綁定 389
12.1.4 支持雙向數據綁定 392
12.2 創建模板化數據綁定控制項 396
12.3 小結 401
第四部分 ASP.NET AJAX
第13章 使用伺服器端ASP.NET AJAX 404
13.1 Ajax概況 404
13.2 伺服器端Ajax與客戶端Ajax 405
13.3 調試Ajax套用 406
13.4 使用UpdatePanel控制項 407
13.4.1 指定UpdatePanel觸發器 414
13.4.2 嵌套的UpdatePanel控制項 415
13.4.3 以編程方式更新Update-Panel 419
13.4.4 UpdatePanel與JavaScript 421
13.4.5 UpdatePanel伺服器端頁面執行生命周期 423
13.4.6 UpdatePanel客戶端頁面執行生命周期 425
13.4.7 取消當前異步回傳 430
13.4.8 中斷上一個異步回傳 432
13.4.9 在一次異步回傳中傳遞額外的信息 434
13.4.10 優雅地處理UpdatePanel錯誤 436
13.4.11 UpdatePanel的性能 440
13.5 使用Timer控制項 443
13.6 使用UpdateProgress控制項 446
13.7 小結 448
第14章 使用ASP.NET AJAX Control Toolkit 449
14.1 使用ASP.NET AJAX Control Toolkit 449
14.2 Toolkit控制項概述 452
14.3 使用AutoComplete控制項 453
14.3.1 通過頁面方法使用AutoCompleteExtender 454
14.3.2 通過Web服務方法使用AutoCompleteExtender 456
14.3.3 在AutoCompleteExtender中使用文本/值對 458
14.4 使用DragPanel控制項 461
14.5 使用FilteredTextBox控制項 465
14.6 使用MaskedEdit控制項 466
14.7 使用Animation控制項 468
14.8 使用UpdatePanelAnimation控制項 472
14.9 小結 475
第15章 用jQuery實現客戶端Ajax 476
15.1 jQuery介紹 476
15.1.1 使用jQuery庫 476
15.1.2 創建jQuery檔案 478
15.1.3 $方法和$(document).ready() 479
15.1.4 jQuery選擇器 480
15.2 從客戶端調用Web服務 481
15.2.1 調用外部的Web服務 481
15.2.2 調用靜態的頁面方法 484
15.3 小結 485

相關搜尋

熱門詞條

聯絡我們