《精通C 5.0與。NET 4.5高級編程——LINQ,WCF,WPF和WF》是2014年11月21日出版的圖書,作者是張敬普、丁士鋒。
基本介紹
- 書名:精通C 5.0與。NET 4.5高級編程——LINQ,WCF,WPF和WF
- 作者:張敬普、丁士鋒
- ISBN:9787302333883
- 類別:圖書
- 定價:99.8元
- 出版社:清華大學出版社
- 裝幀:平裝
基本信息,圖書簡介,目錄,
基本信息
精通C# 5.0與.NET 4.5高級編程——LINQ、WCF、WPF和WF
作者:張敬普、丁士鋒 等
圖書詳細信息:
ISBN:9787302333883
定價:99.8元
印次:1-2
裝幀:平裝
作者:張敬普、丁士鋒 等
圖書詳細信息:
ISBN:9787302333883
定價:99.8元
印次:1-2
裝幀:平裝
出版社:清華大學出版社
印刷日期:2014-11-21
印刷日期:2014-11-21
圖書簡介
NET4.5框架集成了對Windows窗體、WindowsPhone、WindowsServer和WindowsAzure等各個方向的開發類庫。本書藉助VisualStudio2012開發工具,詳細介紹了.NET框架中的4大開發利器:LINQ、WPF、WF和WCF。
本書共分為5篇28章。第1篇為C#面向對象開發基礎,主要讓讀者了解基於框架的開發語言C#;第2篇為C#中的LINQ開發,介紹了如何使用LINQ在對象和數據之間建立一種對應關係,然後通過訪問記憶體對象的方式查詢數據集合;第3篇為WPF開發,詳細介紹了如何利用WPF這個圖形平台,改變傳統Windows程式設計師的開發觀念和開發方式;第4篇為WF工作流開發,介紹了實現工作流應用程式時所需要實現的一些機制,比如持久化、補償、跟蹤機制等;第5篇為WCF開發,學習如何利用遠程通信技術,實現託管、服務實例管理、異步、安全、事務管理、離線佇列等功能。
本書實例具有代表性,編碼規範,講解詳細,適合想系統學習C#開發和.NET4.5平台的技術人員研讀,也可作為特定技術開發人員的參考書程。對於.NET程式設計師,本書不失為一本極佳的案頭必備手冊。
本書共分為5篇28章。第1篇為C#面向對象開發基礎,主要讓讀者了解基於框架的開發語言C#;第2篇為C#中的LINQ開發,介紹了如何使用LINQ在對象和數據之間建立一種對應關係,然後通過訪問記憶體對象的方式查詢數據集合;第3篇為WPF開發,詳細介紹了如何利用WPF這個圖形平台,改變傳統Windows程式設計師的開發觀念和開發方式;第4篇為WF工作流開發,介紹了實現工作流應用程式時所需要實現的一些機制,比如持久化、補償、跟蹤機制等;第5篇為WCF開發,學習如何利用遠程通信技術,實現託管、服務實例管理、異步、安全、事務管理、離線佇列等功能。
本書實例具有代表性,編碼規範,講解詳細,適合想系統學習C#開發和.NET4.5平台的技術人員研讀,也可作為特定技術開發人員的參考書程。對於.NET程式設計師,本書不失為一本極佳的案頭必備手冊。
目錄
第1篇C#面向對象開發基礎
第1章.NET框架和VisualStudio2012開發工具 2
1.1.NET4.5框架一覽 2
1.1.1框架包含的開發語言 2
1.1.2C#開發語言的特點 3
1.1.3C#的運行機制 3
1.1.4C#的類庫框架 4
1.2VisualStudio2012開發界面 4
1.2.1VisualStudio2012界面一覽 4
1.2.2選單欄 6
1.2.3工具列 7
1.2.4工具箱 7
1.2.5屬性視窗 8
1.2.6解決方案資源管理器 8
1.2.7伺服器資源管理器 9
1.3創建C#應用程式 9
1.3.1控制台應用程式(Console) 9
1.3.2Windows應用程式(Forms) 10
1.3.3ASP.NET4.5網站 11
1.4小結 14
第2章C#的語法知識 15
2.1變數、常量和表達式 15
2.1.1常量 15
2.1.2變數 15
2.1.3變數的類型 15
2.1.4類型轉換 16
2.1.5變數的作用域和生存周期 17
2.1.6表達式 17
2.2運算符 17
2.2.1算術運算符 18
2.2.2關係運算符和邏輯運算符 18
2.2.3賦值運算符 19
2.2.4?運算符 19
2.2.5運算符優先權 19
2.3流程控制語句 20
2.3.1if語句 20
2.3.2switch語句 20
2.3.3for語句 21
2.3.4foreach語句 22
2.3.5while語句 22
2.4方法和函式 23
2.4.1方法和函式的定義 23
2.4.2函式的參數 24
2.4.3函式的返回值 24
2.4.4函式的重載 24
2.4.5委託 25
2.5泛型 25
2.5.1什麼是泛型 25
2.5.2泛型的套用範圍 26
2.6小結 26
第3章C#的面向對象特性 27
3.1面向對象編程概述 27
3.1.1什麼是類和對象 27
3.1.2用C#如何創建類 28
3.1.3用C#如何創建對象 29
3.1.4什麼是面向對象編程 29
3.2面向對象的技術 29
3.2.1接口 29
3.2.2用C#如何創建接口 30
3.2.3繼承 31
3.2.4用C#如何實現繼承 31
3.2.5多態 31
3.2.6用C#如何實現多態 32
3.3面向對象開發的簡單實例 33
3.3.1面向對象功能設計 33
3.3.2面向對象的類設計 33
3.3.3面向對象的套用 34
3.4小結 35
第2篇C#中的LINQ開發
第4章LINQ查詢基礎 38
4.1LINQ基礎概念 38
4.1.1什麼是LINQ 38
4.1.2如何使用LINQ 39
4.1.3LINQ查詢 40
4.2LINQ查詢表達式 41
4.2.1查詢表達式 41
4.2.2用from子句指定數據源 42
4.2.3用select子句指定目標數據 43
4.2.4用where子句指定篩選條件 46
4.2.5用orderby子句進行排序 48
4.2.6用group子句進行分組 49
4.2.7用from子句進行複合查詢 52
4.2.8用join子句進行聯接 54
4.2.9用join子句進行內部聯接 54
4.2.10用join子句進行分組聯接 55
4.2.11用join子句進行左外部聯接 56
4.3LINQ查詢方法 57
4.3.1IEnumerable<T>接口 57
4.3.2Lambda表達式 59
4.3.3用Where()方法進行篩選 60
4.3.4用OrderBy()方法進行排序 61
4.3.5用Skip()、SkipWhile()跳過元素 64
4.3.6用Take()、TakeWhile()提取元素 65
4.3.7用Max()等對元素進行數值計算 66
4.3.8用Distinct()消除集合中相等的元素 67
4.3.9用Concat()連線兩個集合 70
4.3.10用Union()等進行集合操作 71
4.4小結 73
第5章LINQtoADO.NET——支持LINQ語言與ADO.NET的互動 74
5.1LINQtoADO.NET概述 74
5.1.1LINQtoDataSet概述 74
5.1.2LINQtoSQL概述 75
5.2LINQtoDataSet--實現複雜數據查詢 76
5.2.1使用LINQtoDataSet 76
5.2.2查詢單個數據表 77
5.2.3查詢多個數據表 80
5.2.4用查詢創建數據表 83
5.2.5修改表中欄位數據 85
5.2.6使用數據視圖DataView 86
5.3LINQtoSQL--對象模型 89
5.3.1對象模型的原理 89
5.3.2生成對象關係設計器 90
5.3.3對象關係設計器的構成 92
5.3.4深入LINQtoSQL類 93
5.3.5通過綁定瀏覽資料庫記錄 95
5.3.6用LINQ查詢LINQtoSQL類 97
5.3.7修改資料庫記錄 99
5.4小結 100
第6章LINQtoXML--支持LINQ語言與XML語言的互動 102
6.1LINQtoXML概述 102
6.1.1什麼是LINQtoXML 102
6.1.2LINQtoXML與DOM 104
6.2構造XML樹 105
6.2.1構造簡單的XML元素 105
6.2.2構造具有屬性的XML元素 107
6.2.3構造具有子元素的XML元素 110
6.2.4用XElement類構造XML樹 111
6.3查詢XML樹 112
6.3.1查找具有特定屬性的元素 112
6.3.2查找具有特定子元素的元素 114
6.3.3對XML元素進行排序 115
6.3.4基於上下文查詢元素 116
6.4操作XML樹 117
6.4.1載入和保存XML樹 118
6.4.2添加元素到XML樹 119
6.4.3移除XML樹的元素和屬性 121
6.5小結 125
第3篇WPF美輪美奐技術
第7章WPF編程入門 128
7.1WPF概述 128
7.1.1理解Windows圖形系統 128
7.1.2WPF的功能特點 129
7.1.3WPF架構簡介 129
7.1.4WPF的類層次結構 130
7.2WPF開發工具簡介 132
7.2.1VisualStudio2012開發工具 132
7.2.2MicrosoftExpressionBlend設計工具 133
7.2.3XAMLPad標記文本查看器 134
7.2.4ZAM3D第三方工具(3D模型) 135
7.3第一個WPF應用程式 136
7.4WPF應用程式結構 137
7.6小結 141
第8章XAML標記語言 143
8.1理解XAML 143
8.1.1XAML是什麼 143
8.1.2用C#模擬XAML實現的內容 145
8.1.3XAML的種類 147
8.2XAML基礎 147
8.2.1命名空間 148
8.2.2代碼後置檔案 150
8.2.3使用簡單的屬性和類型轉換器 153
8.2.4屬性語法與屬性元素語法 154
8.2.5標記擴展特性 157
8.2.6附加屬性 157
8.2.7特定的字元和空白 160
8.2.8在XAML中使用事件 161
8.2.9使用其他命名空間中的類型 163
8.2.10載入和編譯XAML 164
8.3小結 169
第9章Application全局應用程式類 170
9.1應用程式生命周期 170
9.1.1創建Application對象 170
9.1.2創建一個自定義的Application類 172
9.1.3關閉應用程式 173
9.1.4應用程式事件 174
9.2事件執行周期 175
9.2.1Startup應用程式啟動事件 175
9.2.2Activated和Deactiveated事件——激活與取消激活 176
9.2.3DispatherUnhandledException事件——處理應用程式未處理的異常 177
9.2.4SessionEnding事件——註銷或關閉系統 178
9.2.5Exit事件——退出應用程式 179
9.3Application類的任務 181
9.3.1處理命令行參數 181
9.3.2訪問當前的應用程式 182
9.3.3單實例應用程式 185
9.4小結 190
第10章WPF布局 191
10.1理解WPF布局 191
10.1.1WPF的布局原理 191
10.1.2布局的過程 192
10.1.3布局容器 192
10.2使用StackPanel進行簡單地布局 193
10.2.1StackPanel示例 193
10.2.2StackPanel布局屬性 195
10.3使用WrapPanel和DockPanel 197
10.3.1使用WrapPanel控制項布局 197
10.3.2使用DockPanel控制項布局 198
10.3.3簡單對話框的實現 200
10.4Grid控制項 201
10.4.1創建Grid控制項 201
10.4.2調整行列尺寸 203
10.4.3編程創建Grid控制項 206
10.4.4合併行和列 208
10.4.5窗體分割 209
10.4.6共享尺寸組 212
10.4.7使用UniformGrid控制項 216
10.5基於坐標布局的Canvas 217
10.5.1Canvas控制項的使用方法 217
10.5.2Canvas的Z軸 218
10.5.3InkCanvas介紹 219
10.6小結 221
第11章內容控制項 222
11.1理解內容控制項 222
11.1.1什麼是內容控制項 222
11.1.2Content屬性介紹 224
11.1.3內容的對齊屬性 226
11.2內容容器控制項 227
11.2.1ScrollViewer滾動條控制項 227
11.2.2GroupBox組合框和TabItem標籤頁控制項 231
11.2.3Expander可摺疊控制項 234
11.3裝飾控制項 236
11.3.1Border框線控制項 237
11.3.2Viewbox自動縮放控制項 238
11.4小結 239
第12章WPF依賴屬性和事件路由 240
12.1WPF中的樹 240
12.1.1邏輯樹和視覺樹 240
12.1.2編程遍歷樹結構 242
12.2理解依賴屬性 244
12.2.1依賴屬性的概念 244
12.2.2定義依賴屬性 246
12.2.3依賴屬性示例 249
12.2.4共享依賴屬性 253
12.2.5註冊附加屬性 254
12.3理解事件路由 255
12.3.1路由事件的概念 255
12.3.2定義和註冊路由事件 257
12.3.3事件路由策略 259
12.3.4RoutedEventArgs類型的參數 262
12.3.5附加事件 263
12.4WPF中的事件 264
12.4.1生命周期事件 264
12.4.2鍵盤事件 265
12.4.3鍵盤焦點 269
12.4.4鍵盤狀態 270
12.4.5滑鼠事件 271
12.4.6捕捉滑鼠 275
12.4.7滑鼠拖放編程 277
12.4.8檔案拖放示例 279
12.5小結 282
第13章標準控制項 283
13.1控制項基礎 283
13.1.1背景色和前景色畫刷 283
13.1.2透明度設定 285
13.1.3更改字型 286
13.1.4更改滑鼠游標 287
13.2內容控制項 291
13.2.1Label標籤控制項 291
13.2.2Button控制項 292
13.2.3CheckBox和RadioButton控制項 295
13.2.4ToolTip提示控制項 296
13.2.5使用ToolTipService對象ToolTip 298
13.2.6使用Popup控制項 300
13.3文本控制項 303
13.3.1TextBox控制項 304
13.3.2選擇文本 305
13.3.3PasswordBox密碼框控制項 306
13.3.4TextBlock控制項 308
13.4列表控制項 310
13.4.1ListBox列表框控制項 310
13.4.2獲取ListBox選定項 312
13.4.3在ListBox中進行多選 314
13.4.4ComboBox下拉列表框控制項 315
13.5範圍控制項 318
13.5.1ProgressBar進度條控制項 318
13.5.2Slider滑動條控制項 319
13.6小結 322
第14章視窗與導航 323
14.1Windows類簡介 323
14.1.1Window類的基本屬性 323
14.1.2視窗的生命周期 326
14.1.3模式與非模式視窗 329
14.1.4視窗的定位和尺寸 330
14.1.5保存和恢復視窗位置 331
14.2對話框視窗 332
14.2.1視窗的宿主 332
14.2.2對話框模型 333
14.2.3MessageBox訊息框 335
14.2.4通用對話框 336
14.3非矩形視窗 338
14.3.1圓角視窗 339
14.3.2圖形視窗 340
14.3.3調整非矩形視窗尺寸 342
14.4一個簡單的導航應用程式示例 343
14.5基於頁面的用戶界面 345
14.5.1Page類簡介 345
14.5.2使用Hyperlink超級連結 346
14.5.3片段導航 347
14.5.4NavigationWindow導航視窗 348
14.5.5Frame頁面框架 349
14.5.6導航歷史記錄 352
14.6NavigationService導航服務 353
14.6.1編程控制導航 353
14.6.2導航生命期事件 355
14.6.3導航記錄管理 358
14.6.4使用頁函式PageFunction 363
14.7XAML瀏覽器應用程式 366
14.7.1XBAP的特點 367
14.7.2創建XBAP應用程式 367
14.8小結 368
第15章WPF資源、樣式和控制項模板 369
15.1程式集資源 369
15.1.1添加資源 369
15.1.2獲取程式集資源 369
15.2對象資源 371
15.2.1資源集合 372
15.2.2靜態和動態資源 373
15.2.3非共享資源 374
15.2.4編程訪問資源 375
15.2.5應用程式資源 375
15.2.6系統資源 376
15.2.7使用資源字典組織資源 377
15.3樣式基礎 378
15.3.1創建一個樣式對象 379
15.3.2在樣式中設定屬性 380
15.3.3根據指定的類型自動套用樣式 381
15.3.4多級樣式 382
15.3.5綁定事件處理器 382
15.4樣式觸發器 384
15.4.1創建簡單觸發器 384
15.4.2創建事件觸發器 387
15.4.3數據觸發器 387
15.5控制項模板 390
15.5.1理解控制項模板 390
15.5.2一個按鈕模板示例 390
15.5.3模板的綁定 392
15.5.4模板觸發器 393
15.6小結 395
第16章形狀、變換和畫刷 396
16.1WPF圖形 396
16.1.1Shape類 396
16.1.2Rectangle和Ellipse類 397
16.1.3Stretch屬性 398
16.1.4Line直線對象 399
16.1.5Polyline多段線對象 400
16.1.6Polygon多邊形對象 401
16.1.7線帽和線連線點 403
16.1.8繪製虛線 404
16.2畫刷 405
16.2.1LinearGradientBrush線性漸變畫刷 405
16.2.2RadialGradientBrush徑向漸變畫刷 407
16.2.3ImageBrush圖像畫刷 409
16.2.4VisualBrush可視化對象畫刷 410
16.2.5OpacityMask不透明蒙板 411
16.3WPF變換 414
16.3.1套用變換 414
16.3.2TranslateTransform移動變換 415
16.3.3RotateTransform旋轉變換 416
16.3.4ScaleTransform縮放變換 417
16.3.5SkewTransform扭曲變換 418
16.3.6TransformGroup組合變換 419
16.4點陣圖效果 420
16.4.1模糊 420
16.4.2凹凸效果 422
16.4.3浮雕效果 423
16.4.4發光和陰影 424
16.5小結 425
第17章幾何圖形、圖像和可視化層 426
17.1路徑和幾何圖形 426
17.1.1線型、矩形和橢圓幾何圖形 426
17.1.2使用GeometryGroup組合形狀 427
17.1.3使用CombinedGeometry結合形狀 428
17.1.4認識PathGeometry對象 430
17.1.5用PathGeometry對象繪製直線 431
17.1.6用PathGeometry對象繪製弧線 431
17.1.7用PathGeometry對象繪製貝塞爾曲線 432
17.1.8使用幾何迷你語言 433
17.1.9幾何圖形的裁切 434
17.2繪圖 435
17.2.1繪製形狀 436
17.2.2繪製圖像 437
17.2.3組合繪製 438
17.3可視化層 439
17.3.1在Visual上繪圖 439
17.3.2DrawingVisual宿主容器 441
17.3.3使用命中測試 443
17.4小結 445
第18章WPF數據綁定 446
18.1數據綁定基礎 446
18.1.1綁定到元素屬性 446
18.1.2使用程式代碼創建綁定 447
18.1.3綁定多個屬性 448
18.1.4綁定的方向 449
18.1.5綁定更新 450
18.1.6綁定到非元素的對象 452
18.2資料庫綁定 456
18.2.1創建數據訪問組件 456
18.2.2實現數據實體對象 458
18.2.3顯示綁定對象 459
18.2.4更新資料庫 461
18.3小結 463
第4篇WF工作流編程
第19章WF編程入門 466
19.1WF基礎 466
19.1.1WF簡介 466
19.1.2WF的開發環境 468
19.1.3第一個工作流示例程式 469
19.1.4WF架構簡介 473
19.2使用WorkflowRuntime和WorkflowInstance類 474
19.2.1理解WorkflowRuntime工作流引擎 475
19.2.2理解WorkflowInstance工作流實例 478
19.3工作流類型和創建模式 479
19.3.1WF工作流的類型 480
19.3.2一個簡單的狀態機工作流示例 480
19.3.3WF工作流的創建模式 483
19.4小結 484
第20章WF活動 485
20.1理解WF活動 485
20.1.1活動的類層次結構 485
20.1.2活動條件類型 485
20.2使用WF的基本活動 488
20.2.1使用IfElseActivity活動 489
20.2.2使用WhileActivity活動 490
20.2.3使用ParalleActivity活動 491
20.2.4使用ReplicatorActivity活動 494
20.2.5使用ConditionedActivityGroup活動 498
20.2.6使用InvokeWorkflowActivity活動 501
20.2.7使用TerminateActivity活動 504
20.2.8使用SuspendActivity活動 504
20.3本地服務和事件驅動的活動 507
20.3.1理解和實現本地服務 507
20.3.2使用本地服務在宿主和工作流之間通信 508
20.3.3事件驅動的活動簡介 512
20.3.4EventDrivenActivity和ListenActivity使用示例 513
20.3.5使用EventHandlingScopeActivity活動 516
20.4小結 522
第21章WF服務 523
21.1WF服務基礎 523
21.1.1WF服務的分類 523
21.1.2默認的服務類簡介 524
21.2WF持久化服務 525
21.2.1準備資料庫 525
21.2.2創建工作流 527
21.2.3使用SqlWorkflowPersistenceService 528
21.3WF跟蹤服務 536
21.3.1使用工作流跟蹤服務 536
21.3.2跟蹤服務配置檔案 540
21.4小結 541
第22章基於ASP.NET的工作流批核系統 542
22.1工作流批核系統簡介 542
22.1.1系統運行效果 543
22.1.2系統基本結構 546
22.2Workflows工作流項目 547
22.2.1基於事件驅動的活動實現 548
22.2.2UserActivity用戶活動實現 549
22.2.3SaveWorkItems自定義活動實現 556
22.2.4ApprovedWorkItemWorkflow工作流實例的實現 557
22.2.5工作流項目幫助類的實現 559
22.3ASP.NET宿主應用程式項目 561
22.3.1初始化工作流運行時引擎 561
22.3.2創建工作流實例 562
22.3.3編輯和審核工作申請表單 564
22.4小結 568
第5篇WCF開發
第23章SOA和WCF基礎介紹 570
23.1SOA架構介紹 570
23.1.1軟體設計思想發展的簡要介紹 570
23.1.2什麼是SOA 571
23.2WCF簡要介紹 572
23.2.1什麼是WCF 572
23.2.2WCF體系框架 573
23.2.3WCF基礎概念介紹 575
23.3第一個WCF程式 577
23.3.1HelloWorld服務契約的定義 577
23.3.2HelloWorld的宿主程式 579
23.3.3訪問HelloWorld服務的客戶端程式 581
23.4小結 583
第24章通道模型和綁定 584
24.1WCF通道模型 584
24.1.1WCF通道模型概述 584
24.1.2訊息交換模式和通道形狀 585
24.1.3數據報模式 585
24.1.4請求-回響模式 588
24.1.5雙工模式 590
24.1.6帶會話的數據報模式、請求-回響模式和雙工模式 592
24.1.7通道形狀的改變 592
24.1.8通道形狀和上層服務協定 593
24.1.9通道管理器 594
24.1.10ICommunicationObject接口和狀態改變 595
24.2標準綁定介紹 598
24.2.1綁定的基本概念 598
24.2.2標準綁定 599
24.2.3設定綁定的方式 600
24.2.4如何選擇綁定 601
24.3本機WCF-WCF互動的綁定和地址 602
24.3.1場景概述 602
24.3.2IPC基本概念 603
24.3.3使用netNamedPipeBinding 604
24.3.4netNamedPipeBinding的地址和配置 605
24.3.5netNamedPipeBinding特點總結 607
24.4跨主機WCF-WCF互動的綁定和地址 607
24.4.1場景概述 607
24.4.2TCP協定概述 607
24.4.3Net.Tcp連線埠共享 608
24.4.4使用netTcpBinding 609
24.4.5netTcpBinding的地址和配置 610
24.4.6netTcpBinding特點總結 612
24.5與WS-IBasicWeb服務進行互動的綁定和地址 613
24.5.1場景概述 613
24.5.2SOAP協定概述 613
24.5.3使用basicHttpBinding 614
24.5.4basicHttpBinding的地址和配置 615
24.5.5basicHttpBinding特點總結 617
24.6與改進Web服務進行互動的綁定和地址 618
24.6.1場景概述 618
24.6.2改進Web服務協定概述 618
24.6.3使用wsHttpBinding 622
24.6.4wsHttpBinding的地址和配置 624
24.6.5wsHttpBinding特點總結 627
24.6.6使用wsDualHttpBinding 627
24.6.7wsDualHttpBinding的地址和配置 628
24.6.8wsDualHttpBinding特點總結 630
24.6.9使用ws2007HttpBinding 630
24.7使用脫機模式進行訊息互動的綁定和地址 631
24.7.1場景概述 631
24.7.2MSMQ協定概述 631
24.7.3使用netMsmqBinding 633
24.7.4netMsmqBinding的地址和配置 634
24.7.5netMsmqBinding特點總結 636
24.7.6使用msmqIntegrationBinding 636
24.7.7msmqIntegrationBinding的地址和配置 637
24.7.8msmqIntegrationBinding特點總結 639
24.8小結 640
第25章定義服務:契約編程 641
25.1契約定義和分類 641
25.1.1什麼是契約 641
25.1.2契約分類 641
25.2服務契約 642
25.2.1服務契約和WSDL 642
25.2.2服務契約的重載問題 644
25.2.3定義請求-回響操作 646
25.2.4定義單程操作 647
25.2.5定義雙程操作 649
25.2.6WCF中事件的實現 657
25.3數據契約 661
25.3.1數據契約和XSD 661
25.3.2使用DataContract特性定義數據契約 663
25.3.3數據契約的繼承 666
25.3.4已知類型的定義 667
25.3.5數據契約的等效性 672
25.3.6數據契約的版本控制 675
25.3.7定義必需的數據成員 678
25.3.8數據默認值的傳送 680
25.3.9數組和集合的處理 680
25.4訊息契約 684
25.4.1訊息契約基本概念 684
25.4.2強類型訊息 686
25.4.3弱類型訊息 692
25.5錯誤處理和錯誤契約 695
25.5.1SOAP訊息的錯誤處理 695
25.5.2服務端未捕獲的異常 696
25.5.3包含詳細異常信息 698
25.5.4捕捉服務異常 699
25.5.5FaultCode和FaultReason的使用 701
25.5.6使用錯誤契約和FaultException<T> 703
25.6小結 706
第26章WCF中的行為 707
26.1實例管理 707
26.1.1實例管理的設定 707
26.1.2PerCall實例策略 708
26.1.3PerSession實例策略和會話 710
26.1.4Single實例策略 713
26.2並發管理 717
26.2.1並發管理的設定 717
26.2.2Single併發模式 717
26.2.3Multiple併發模式 720
26.2.4Reentrant併發模式 721
26.3元數據的發布 724
26.3.1HTTP-GET方式發布元數據 724
26.3.2MEX終結點方式發布元數據 727
26.4事務管理 728
26.4.1事務的基本概念和特性 728
26.4.2單服務事務 729
26.4.3分散式事務 733
26.4.4事務協定和事務管理器 739
26.5小結 741
第27章安全 742
27.1常用概念介紹 742
27.1.1身份驗證 742
27.1.2授權 743
27.1.3保密性 743
27.1.4完整性 743
27.1.5憑據 743
27.2傳輸安全性 744
27.2.1傳輸安全性的三要素 744
27.2.2WCF支持的傳輸安全模式 744
27.2.3傳輸安全模式的配置 745
27.2.4Transport安全模式下的憑證 746
27.2.5Message安全模式下的憑證 747
27.3區域網路內Windows平台系統的安全性 747
27.3.1場景分析 747
27.3.2服務定義 748
27.3.3身份認證 750
27.3.4授權 752
27.4跨Internet系統的安全性 756
27.4.1場景概述和綁定選擇 756
27.4.2訊息安全 757
27.4.3身份認證 760
27.4.4授權 762
27.5安全機制的日誌和跟蹤 763
27.6小結 764
第28章自動點滴管理系統 765
28.1需求分析 765
28.1.1系統介紹 765
28.1.2客戶端功能 765
28.1.3服務端功能 766
28.2系統設計 766
28.2.1服務邊界和接口 766
28.2.2傳輸和寄宿的設計 766
28.2.3界面的設計 767
28.3系統實現 768
28.3.1服務契約的定義 768
28.3.2數據契約的定義 769
28.3.3服務的實現 774
28.3.4控制台實現 780
28.3.5客戶端實現 788
28.4運行和測試 796
28.5小結 797