精通C#3.0與NET3.5高級編程

《精通C#3.0與NET3.5高級編程》是2009年清華大學出版社出版的圖書,作者是丁士鋒、朱毅、楊明羽。

基本信息

內容簡介

C#是微軟推出的一種面向對象開發語言,其能讓已有經驗的開發人員輕鬆上手,並在很短的時間內就可以使用C#高效地進行工作。這是讀者選擇C#的原因。目前最新的C#版本就是.NET 3.5框架上的C# 3.0。該書藉助Visual Studio 2008開發工具,詳細介紹了.net框架中的4大開發利器:LINQ、WPF、WF和WCF。LINQ是集成查詢語言,它在對象和數據之間建立一種對應關係,可以使用訪問記憶體對象的方式查詢數據集合。WPF是C#開發的圖形平台,它改變了傳統Windows程式設計師的開發觀念和開發方式。WF不是一個獨立的工作流應用程式,它提供了一些類庫用於輔助工作流應用程式的開發,並提供了實現工作流應用程式時所需要實現的一些機制,比如持久化、補償、跟蹤機制等。WCF是遠程通訊技術,其傳承了SOA設計的優勢。書中實例具有代表性、編碼規範、講解詳細,可作為特定技術開發人員的指導教程,也可以讓讀者更深入地學習.NET 3.5框架的原理和組成。

作者簡介

丁士鋒,畢業於國防科技大學計算機學院。有多年的大型軟體系統開發經驗,有近8年的.NET軟體項目研發經驗,擅長C#語言,對.NET框架及其底層機制有深入的理解。曾經任職於三星電子、諾基亞等公司,從事軟體項目開發。對企業軟體的設計與架構有深入的研究和大量經驗,主導過多個大型的企業分散式項目的開發。

朱毅,畢業於上海交通大學,獲信息工程、計算機科學雙學士學位。之後又獲得了復旦大學軟體工程碩士學位。有6年多的.NET研發經驗,涉及分散式系統、B/S體系結構系統、C/S體系結構系統的架構和開發。曾任職於西門子移動通信有限公司,擔任項目經理,致力於企業ERP系統的架構。現任職於惠普有限公司ISEE項目組進行項目開發。長期活躍於各大技術社區,曾著有《.NET程式設計師面試指南》一書。業餘時間喜歡閱讀和旅遊。

楊明羽,畢業於浙江大學計算機科學與技術專業,高級軟體工程師。多年來一直從事軟體開發和項目管理類工作,有近10年的軟體開發經驗。擅長C#語言,深入理解.NET框架底層機制,長期追蹤.NET框架的最新技術。曾任職於263線上、阿里巴巴等網路公司。現任職於上海某大型網路科技公司,擔任技術總監一職。

編輯推薦

精通c# 3.0與NET 3.5高級編程:LINQ、WCF、WPF、WF》從C# 3.0的基礎語法和面向對象編程講起,為初學者鋪墊入門之路。然後重點講解.NET 3.5框架的LINQ、WPF、WF及WCF四大開發技術。

《精通C# 3.0與NET 3.5高級編程:LINQ、WCF、WPF、WF》詳細介紹了LINQ集成化查詢技術,分析了LINQ to ADO.NET、LINQ To XML、LINQ to DataSet及LINQ to SQL 四種最重要的數據查詢技術。

《精通C# 3.0與NET 3.5高級編程:LINQ、WCF、WPF、WF》對WPF技術進行了深入剖析和探索,通過它可以讓基於窗體的應用程式、圖像、視頻、音頻和文檔及基於瀏覽器的網頁有一個統一美觀的UI。

《精通C# 3.0與NET 3.5高級編程:LINQ、WCF、WPF、WF》通過一個OA系統最常用的工作流程審核系統,深入分析了WF工作流定製技術的套用。

《精通C# 3.0與NET 3.5高級編程:LINQ、WCF、WPF、WF》深入透析了微軟為SOA套用解決方案提供的WCF技術,並分析了通道模型、訊息處理機制等跨領域信息互動技術。

《精通C# 3.0與NET 3.5高級編程:LINQ、WCF、WPF、WF》提供的示例和案例面向實際開發,意在加深讀者對書中內容的理解,並提高讀者的項目開發水平。

《精通C# 3.0與NET 3.5高級編程:LINQ、WCF、WPF、WF》提供了大量的圖示幫助讀者理解.NET 3.5框架,並對學習中經常遇到的問題,給出了大量技巧、注意和說明,幫助讀者少走彎路。

特色:

徹底顛覆傳統窗體開發的瓶頸和弊端,用WPF實現全新的圖形界面引擎

詳解WPF的布局、XAML語言、模板、幾何圖形、畫刷及數據綁定等技術

統一了Windows創建、顯示和操作文檔、媒體及用戶界面UI的方式

詳解最簡單、最完善的工作流定製技術WF,輕鬆實現OA系統的流程規劃

理清SOA與WCF的概念及設計思想,深入透析WCF分散式處理技術

提供500多個示例、4個綜合案例,全面提升讀者的開發水平

讀者對象:

需要全面學習.NET 3.5最新技術的程式設計師

C# 3.0初、中級學習人員

想要開發絢麗的WinForm窗體應用程式的人員

使用WPF進行應用程式開發的人員

需要學習LINQ集成查詢技術的人員

進行OA系統開發的程式設計師

使用WCF進行遠程通信的開發人員

需要深入理解.NET框架的開發人員

超值光碟內容:

微軟Visual Studio 2008學習版安裝光碟

《精通C# 3.0與NET 3.5高級編程:LINQ、WCF、WPF、WF》所涉及的原始碼

6小時多媒體視頻講解

隨書附贈微軟Visual Studio 2008學習版安裝光碟

6小時多媒體視頻講解

資深.NET程式設計師,全新視角,解讀.NET 3.5框架的最新技術趨勢

深入剖析.NET 3.5框架的四大開發技術及.NET 3.5框架的底層機制

本叢書5種榮獲“全國優秀暢銷書獎”(科技類),本叢書累計銷售超過100萬冊,本叢書先後被400餘所培訓機構選作參考書。

目錄

第1篇 C#面向對象開發基礎

第1章 .NET框架和Visual Studio 2008 開發工具 2

1.1 .NET 3.5框架一覽 2

1.1.1 框架包含的開發語言 2

1.1.2 C#開發語言的特點 3

1.1.3 C#的運行機制 3

1.1.4 C#的類庫框架 4

1.2 Visual Studio 2008 開發界面 4

1.2.1 Visual Studio 2008界面一覽 5

1.2.2 選單欄 5

1.2.3 工具列 6

1.2.4 工具箱 7

1.2.5 屬性視窗 7

1.2.6 解決方案資源管理器 7

1.2.7 伺服器資源管理器 8

1.3 創建C#應用程式 9

1.3.1 控制台應用程式(Console) 9

1.3.2 Windows 應用程式(Forms) 10

1.3.3 ASP.NET 3.5網站 11

1.4 小結 12

第2章 C#的語法知識 13

2.1 變數、常量和表達式 13

2.1.1 常量 13

2.1.2 變數 13

2.1.3 變數的類型 14

2.1.4 類型轉換 14

2.1.5 變數的作用域和生存周期 15

2.1.6 表達式 15

2.2 運算符 16

2.2.1 算術運算符 16

2.2.2 關係運算符和邏輯運算符 16

2.2.3 賦值運算符 17

2.2.4 ?運算符 17

2.2.5 運算符優先權 17

2.3 流程控制語句 18

2.3.1 if語句 18

2.3.2 switch語句 18

2.3.3 for語句 20

2.3.4 foreach語句 20

2.3.5 while語句 21

2.4 方法和函式 21

2.4.1 方法和函式的定義 21

2.4.2 函式的參數 22

2.4.3 函式的返回值 22

2.4.4 函式的重載 22

2.4.5 委託 23

2.5 泛型 23

2.5.1 什麼是泛型 23

2.5.2 泛型的套用範圍 24

2.6 小結 24

第3章 C#的面向對象特性 25

3.1 面向對象編程概述 25

3.1.1 什麼是類和對象 25

3.1.2 用C#如何創建類 26

3.1.3 用C#如何創建對象 27

3.1.4 什麼是面向對象編程 27

3.2 面向對象的技術 28

3.2.1 接口 28

3.2.2 用C#如何創建接口 28

3.2.3 繼承 29

3.2.4 用C#如何實現繼承 29

3.2.5 多態 30

3.2.6 用C#如何實現多態 31

3.3 面向對象開發的簡單實例 31

3.3.1 面向對象功能設計 31

3.3.2 面向對象的類設計 32

3.3.3 面向對象的套用 32

3.4 小結 34

第2篇 C#中的LINQ開發

第4章 LINQ查詢基礎 36

4.1 LINQ基礎概念 36

4.1.1 什麼是LINQ 36

4.1.2 如何使用LINQ 37

4.1.3 LINQ查詢 38

4.2 LINQ查詢表達式 39

4.2.1 查詢表達式 39

4.2.2 用from子句指定數據源 40

4.2.3 用select子句指定目標數據 41

4.2.4 用where子句指定篩選條件 44

4.2.5 用orderby子句進行排序 46

4.2.6 用group子句進行分組 48

4.2.7 用from子句進行複合查詢 50

4.2.8 用join子句進行聯接 52

4.2.9 用join子句進行內部聯接 52

4.2.10 用join子句進行分組聯接 53

4.2.11 用join子句進行左外部聯接 54

4.3 LINQ查詢方法 55

4.3.1 IEnumerable接口 55

4.3.2Lambda表達式57

4.3.3 用Where()方法進行篩選 58

4.3.4 用OrderBy()方法進行排序 60

4.3.5 用Skip()、SkipWhile()跳過元素 62

4.3.6 用Take()、TakeWhile()提取元素 63

4.3.7 用Max()等對元素進行數值計算 64

4.3.8 用Distinct()消除集合中相等的元素 66

4.3.9 用concat()連線兩個集合 68

4.3.10 用Union()等進行集合操作 69

4.4 小結 71

第5章 LINQ to ADO.NET——支持LINQ 語言與ADO.NET的互動 72

5.1 LINQ to ADO.NET概述 72

5.1.1 LINQ to DataSet概述 72

5.1.2 LINQ to SQL概述 73

5.2 LINQ to DataSet——實現複雜數據查詢 74

5.2.1 使用LINQ to DataSet 74

5.2.2 查詢單個數據表 75

5.2.3 查詢多個數據表 78

5.2.4 用查詢創建數據表 81

5.2.5 修改表中欄位數據 83

5.2.6 使用數據視圖dataview84

5.3 LINQ to SQL——對象模型 87

5.3.1 對象模型的原理 87

5.3.2 生成對象關係設計器 88

5.3.3 對象關係設計器的構成 90

5.3.4 深入LINQ to SQL類 91

5.3.5 通過綁定瀏覽資料庫記錄 93

5.3.6 用LINQ查詢LINQ to SQL類 95

5.3.7 修改資料庫記錄 96

5.4 小結 98

第6章 LINQ To XML——支持LINQ語言與 XML語言的互動 99

6.1 LINQ to XML概述 99

6.1.1 什麼是LINQ to XML 99

6.1.2 LINQ to XML與DOM 101

6.2 構造XML樹 102

6.2.1 構造簡單的XML元素 102

6.2.2 構造具有屬性的XML元素 104

6.2.3 構造具有子元素的XML元素 107

6.2.4 用XElement類構造XML樹 108

6.3 查詢XML樹 109

6.3.1 查找具有特定屬性的元素 109

6.3.2 查找具有特定子元素的元素 111

6.3.3 對XML元素進行排序 112

6.3.4 基於上下文查詢元素 113

6.4 操作XML樹 115

6.4.1 載入和保存XML樹 115

6.4.2 添加元素到XML樹 116

6.4.3 移除XML樹的元素和屬性 118

6.5 小結 122

第3篇 WPF美輪美奐技術

第7章 WPF編程入門 126

7.1 WPF概述 126

7.1.1 理解Windows圖形系統 126

7.1.2 WPF的功能特點 127

7.1.3 WPF架構簡介 127

7.1.4 WPF的類層次結構128

7.2 WPF開發工具簡介 130

7.2.1 Visual Studio 2008開發工具 130

7.2.2 Microsoft Expression Blend設計工具 131

7.2.3 XAMLPad標記文本查看器 132

7.2.4zam3D第三方工具(3D模型) 133

7.3 第一個WPF應用程式 133

7.4 WPF應用程式結構 135

7.5 WPF與.NET Framework 3.5平台 135

7.5.1Windows Communication Foundation概述 136

7.5.2Windows CardSpace概述 137

7.5.3 Windows Workflow Foundation 概述 137

7.6 小結 138

第8章 XAML標記語言 139

8.1 理解XAML 139

8.1.1 XAML是什麼 139

8.1.2 用C#模擬XAML實現的內容 141

8.1.3 XAML的種類 143

8.2 XAML基礎 143

8.2.1 命名空間 144

8.2.2 代碼後置檔案 146

8.2.3 使用簡單的屬性和類型轉換器 149

8.2.4 屬性語法與屬性元素語法 150

8.2.5 標記擴展特性 152

8.2.6 附加屬性 153

8.2.7 特定的字元和空白 155

8.2.8 在XAML中使用事件 157

8.2.9 使用其他命名空間中的類型 158

8.2.10 載入和編譯XAML 160

8.3 小結 164

第9章 Application全局應用程式類 166

9.1 應用程式生命周期 166

9.1.1 創建Application對象 166

9.1.2 創建一個自定義的Application類 168

9.1.3 關閉應用程式 169

9.1.4 應用程式事件 170

9.2 事件執行周期171

9.2.1 Startup應用程式啟動事件 171

9.2.2 Activated和Deactiveated事件——激活與取消激活 172

9.2.3 DispatherUnhandledException事件——處理應用程式未處理的異常 173

9.2.4 SessionEnding事件——註銷或關閉系統 174

9.2.5 Exit事件——退出應用程式 175

9.3 Application類的任務 177

9.3.1 處理命令行參數 177

9.3.2 訪問當前的應用程式 178

9.3.3 單實例應用程式 181

9.4 小結 185

第10章 WPF布局 187

10.1 理解WPF布局 187

10.1.1 WPF的布局原理 187

10.1.2 布局的過程 188

10.1.3 布局容器 188

10.2 使用StackPanel進行簡單地布局 189

10.2.1 StackPanel示例 189

10.2.2 StackPanel布局屬性 191

10.3 使用WrapPanel和DockPanel193

10.3.1 使用WrapPanel控制項布局 193

10.3.2 使用DockPanel控制項布局 194

10.3.3 簡單對話框的實現 196

10.4 Grid控制項 198

10.4.1 創建Grid控制項 198

10.4.2 調整行列尺寸 199

10.4.3 編程創建Grid控制項 201

10.4.4 合併行和列 203

10.4.5 窗體分割 205

10.4.6 共享尺寸組 208

10.4.7 使用UniformGrid控制項 212

10.5 基於坐標布局的Canvas 212

10.5.1 Canvas控制項的使用方法 213

10.5.2 Canvas的Z軸 214

10.5.3 InkCanvas介紹 214

10.6 小結 217

第11章 內容控制項 218

11.1 理解內容控制項 218

11.1.1 什麼是內容控制項 218

11.1.2 Content屬性介紹 220

11.1.3 內容的對齊屬性 222

11.2 內容容器控制項223

11.2.1 ScrollViewer滾動條控制項 223

11.2.2 GroupBox組合框和TabItem標籤頁控制項 227

11.2.3 Expander可摺疊控制項 229

11.3裝飾控件 232

11.3.1 Border框線控制項 232

11.3.2 Viewbox自動縮放控制項 233

11.4 小結 235

第12章 WPF依賴屬性和事件路由 236

12.1 WPF中的樹 236

12.1.1 邏輯樹和視覺樹 236

12.1.2 編程遍歷樹結構 238

12.2 理解依賴屬性 239

12.2.1 依賴屬性的概念 240

12.2.2 定義依賴屬性 242

12.2.3 依賴屬性示例 244

12.2.4 共享依賴屬性 248

12.2.5 註冊附加屬性 249

12.3 理解事件路由 250

12.3.1 路由事件的概念 250

12.3.2 定義和註冊路由事件 253

12.3.3 事件路由策略 254

12.3.4 RoutedEventArgs類型的參數 257

12.3.5 附加事件 258

12.4 WPF中的事件 259

12.4.1 生命周期事件 259

12.4.2 鍵盤事件 261

12.4.3 鍵盤焦點 264

12.4.4 鍵盤狀態 265

12.4.5 滑鼠事件 266

12.4.6 捕捉滑鼠 270

12.4.7 滑鼠拖放編程 272

12.4.8 檔案拖放示例 275

12.5 小結 277

第13章標準控制項278

13.1 控制項基礎 278

13.1.1 背景色和前景色畫刷 278

13.1.2 透明度設定 280

13.1.3 更改字型 281

13.1.4 更改滑鼠游標 282

13.2 內容控制項 286

13.2.1 Label標籤控制項 286

13.2.2Button控制項287

13.2.3 CheckBox和RadioButton控制項 290

13.2.4 ToolTip提示控制項 291

13.2.5 使用ToolTipService對象ToolTip 293

13.2.6 使用popup控制項 295

13.3 文本控制項 298

13.3.1 TextBox控制項 299

13.3.2 選擇文本 300

13.3.3 PasswordBox密碼框控制項 301

13.3.4 TextBlock控制項 303

13.4 列表控制項 305

13.4.1 ListBox列表框控制項 305

13.4.2 獲取ListBox選定項 307

13.4.3 在ListBox中進行多選 309

13.4.4 ComboBox下拉列表框控制項 310

13.5 範圍控制項 313

13.5.1 ProgressBar進度條控制項 313

13.5.2 Slider滑動條控制項 314

13.6 小結 317

第14章 視窗與導航 318

14.1 Windows類簡介 318

14.1.1 Window類的基本屬性 319

14.1.2 視窗的生命周期 322

14.1.3 模式與非模式視窗 324

14.1.4 視窗的定位和尺寸 325

14.1.5 保存和恢復視窗位置 326

14.2 對話框視窗 327

14.2.1 視窗的宿主 327

14.2.2 對話框模型 328

14.2.3 MessageBox訊息框 330

14.2.4 通用對話框 331

14.3 非矩形視窗 333

14.3.1 圓角視窗 334

14.3.2 圖形視窗 335

14.3.3 調整非矩形視窗尺寸 337

14.4 一個簡單的導航應用程式示例 338

14.5 基於頁面的用戶界面 340

14.5.1 Page類簡介 340

14.5.2 使用Hyperlink超級連結 341

14.5.3 片段導航 342

14.5.4 NavigationWindow導航視窗 343

14.5.5 Frame頁面框架 344

14.5.6 導航歷史記錄 347

14.6 NavigationService導航服務 348

14.6.1 編程控制導航 348

14.6.2 導航生命期事件 350

14.6.3 導航記錄管理 353

14.6.4 使用頁函式PageFunction 357

14.7 XAML瀏覽器應用程式 360

14.7.1XBAP的特點 361

14.7.2 創建XBAP應用程式 361

14.8 小結 362

第15章 WPF資源、樣式和控制項模板363

15.1 程式集資源 363

15.1.1 添加資源 363

15.1.2 獲取程式集資源 364

15.2 對象資源 365

15.2.1 資源集合 366

15.2.2 靜態和動態資源 368

15.2.3 非共享資源 368

15.2.4 編程訪問資源 369

15.2.5 應用程式資源 369

15.2.6 系統資源 370

15.2.7 使用資源字典組織資源 371

15.3 樣式基礎 372

15.3.1 創建一個樣式對象 373

15.3.2 在樣式中設定屬性 374

15.3.3 根據指定的類型自動套用樣式 375

15.3.4 多級樣式 376

15.3.5 綁定事件處理器 377

15.4 樣式觸發器 378

15.4.1 創建簡單觸發器 378

15.4.2 創建事件觸發器 381

15.4.3數據觸發器381

15.5 控制項模板 383

15.5.1 理解控制項模板 384

15.5.2 一個按鈕模板示例 384

15.5.3 模板的綁定 386

15.5.4 模板觸發器 387

15.6 小結 389

第16章 形狀、變換和畫刷 390

16.1 WPF圖形 390

16.1.1 Shape類 390

16.1.2 Rectangle和Ellipse類 391

16.1.3 Stretch屬性 392

16.1.4 Line直線對象 393

16.1.5 Polyline多段線對象 394

16.1.6 Polygon多邊形對象 395

16.1.7 線帽和線連線點 397

16.1.8 繪製虛線 398

16.2 畫刷 399

16.2.1LinearGradientBrush線性漸變畫刷 399

16.2.2 RadialGradientBrush徑向漸變畫刷 401

16.2.3 ImageBrush圖像畫刷 402

16.2.4 VisualBrush可視化對象畫刷 404

16.2.5 OpacityMask不透明蒙板 405

16.3 WPF變換 407

16.3.1 套用變換 408

16.3.2 TranslateTransform移動變換 409

16.3.3 RotateTransform旋轉變換 409

16.3.4 ScaleTransform縮放變換 410

16.3.5 SkewTransform扭曲變換 411

16.3.6 TransformGroup組合變換 412

16.4 點陣圖效果 413

16.4.1 模糊 414

16.4.2 凹凸效果 415

16.4.3 浮雕效果 416

16.4.4 發光和陰影 417

16.5 小結 418

第17章 幾何圖形、圖像和可視化層 419

17.1 路徑和幾何圖形 419

17.1.1 線型、矩形和橢圓幾何圖形 419

17.1.2 使用GeometryGroup組合形狀 420

17.1.3 使用CombinedGeometry結合形狀 422

17.1.4 認識PathGeometry對象 423

17.1.5 用PathGeometry對象繪製直線 424

17.1.6 用PathGeometry對象繪製弧線 424

17.1.7 用PathGeometry對象繪製貝塞爾曲線 425

17.1.8 使用幾何迷你語言 426

17.1.9 幾何圖形的裁切 427

17.2 繪圖 428

17.2.1 繪製形狀 428

17.2.2 繪製圖像 430

17.2.3 組合繪製 430

17.3 可視化層 431

17.3.1 在Visual上繪圖 432

17.3.2 DrawingVisual宿主容器 433

17.3.3 使用命中測試 435

17.4 小結 437

第18章 WPF數據綁定 438

18.1 數據綁定基礎 438

18.1.1 綁定到元素屬性 438

18.1.2 使用程式代碼創建綁定 439

18.1.3 綁定多個屬性 440

18.1.4 綁定的方向 441

18.1.5 綁定更新 443

18.1.6 綁定到非元素的對象 444

18.2 資料庫綁定 448

18.2.1 創建數據訪問組件 448

18.2.2 實現數據實體對象 450

18.2.3 顯示綁定對象 450

18.2.4 更新資料庫 452

18.3 小結 454

第4篇 WF工作流編程

第19章 WF編程入門 456

19.1 WF基礎 456

19.1.1 WF簡介 456

19.1.2 WF的開發環境 458

19.1.3 第一個工作流示例程式 459

19.1.4 WF架構簡介 463

19.2 使用WorkflowRuntime和WorkflowInstance類 464

19.2.1 理解WorkflowRuntime工作流引擎 464

19.2.2 理解WorkflowInstance工作流實例 467

19.3 工作流類型和創建模式 469

19.3.1 WF工作流的類型 469

19.3.2 一個簡單的狀態機工作流示例 469

19.3.3 WF工作流的創建模式 471

19.4 小結 472

第20章 WF活動 473

20.1 理解WF活動 473

20.1.1 活動的類層次結構 473

20.1.2 活動條件類型 474

20.2 使用WF的基本活動 476

20.2.1 使用IfElseActivity活動 477

20.2.2 使用WhileActivity活動 478

20.2.3 使用ParalleActivity活動 479

20.2.4 使用ReplicatorActivity活動 482

20.2.5 使用ConditionedActivityGroup活動 485

20.2.6 使用InvokeWorkflowActivity活動 488

20.2.7 使用TerminateActivity活動 491

20.2.8 使用SuspendActivity活動 491

20.3 本地服務和事件驅動的活動 493

20.3.1 理解和實現本地服務 494

20.3.2 使用本地服務在宿主和工作流之間通信 495

20.3.3 事件驅動的活動簡介 498

20.3.4 EventDrivenActivity和ListenActivity使用示例 499

20.3.5 使用EventHandlingScopeActivity活動 502

20.4 小結 507

第21章 WF服務 508

21.1 WF服務基礎 508

21.1.1 WF服務的分類 508

21.1.2 默認的服務類簡介 509

21.2 WF持久化服務 510

21.2.1 準備資料庫 510

21.2.2 創建工作流 511

21.2.3 使用SqlWorkflowPersistenceService 513

21.3 WF跟蹤服務 519

21.3.1 使用工作流跟蹤服務 519

21.3.2 跟蹤服務配置檔案 523

21.4 小結 524

第22章 基於ASP.NET的工作流批核系統 525

22.1 工作流批核系統簡介 525

22.1.1 系統運行效果 525

22.1.2 系統基本結構 528

22.2 Workflows工作流項目 529

22.2.1 基於事件驅動的活動實現 529

22.2.2 UserActivity用戶活動實現 531

22.2.3 SaveWorkItems自定義活動實現 537

22.2.4 ApprovedWorkItemWorkflow工作流實例的實現 538

22.2.5 工作流項目幫助類的實現 541

22.3 ASP.NET宿主應用程式項目 542

22.3.1 初始化工作流運行時引擎 543

22.3.2 創建工作流實例 544

22.3.3 編輯和審核工作申請表單 546

22.4 小結 549

第5篇 WCF開發

第23章 SOA和WCF基礎介紹 552

23.1 SOA架構介紹 552

23.1.1 軟體設計思想發展的簡要介紹 552

23.1.2 什麼是SOA 553

23.2 WCF簡要介紹 554

23.2.1 什麼是WCF 554

23.2.2 WCF體系框架 555

23.2.3 WCF基礎概念介紹 557

23.3 第一個WCF程式 559

23.3.1 HelloWorld服務契約的定義 559

23.3.2 HelloWorld的宿主程式561

23.3.3 訪問HelloWorld服務的客戶端程式 563

23.4 小結 565

第24章 通道模型和綁定 566

24.1 WCF通道模型 566

24.1.1 WCF通道模型概述 566

24.1.2 訊息交換模式和通道形狀 567

24.1.3 數據報模式 567

24.1.4 請求-回響模式 570

24.1.5 雙工模式 573

24.1.6 帶會話的數據報模式、請求-回響模式和雙工模式 574

24.1.7 通道形狀的改變 575

24.1.8 通道性狀和上層服務協定 576

24.1.9 通道管理器 577

24.1.10 ICommunicationObject接口和狀態改變 577

24.2 標準綁定介紹 581

24.2.1 綁定的基本概念 581

24.2.2 標準綁定 581

24.2.3 設定綁定的方式 582

24.2.4 如何選擇綁定 583

24.3 本機WCF-WCF互動的綁定和地址 585

24.3.1 場景概述 585

24.3.2 IPC基本概念 585

24.3.3 使用netNamedPipeBinding 586

24.3.4 netNamedPipeBinding的地址和配置 587

24.3.5 netNamedPipeBinding特點總結 589

24.4 跨主機WCF-WCF互動的綁定和地址 589

24.4.1 場景概述 590

24.4.2 TCP協定概述 590

24.4.3 Net.Tcp連線埠共享 591

24.4.4 使用netTcpBinding 591

24.4.5 netTcpBinding的地址和配置 592

24.4.6 netTcpBinding特點總結 595

24.5 與WS-I Basic Web服務進行互動的綁定和地址 595

24.5.1 場景概述 595

24.5.2Soap協定概述 596

24.5.3 使用basicHttpBinding 597

24.5.4 basicHttpBinding的地址和配置 598

24.5.5 basicHttpBinding特點總結 600

24.6 與改進Web服務進行互動的綁定和地址 600

24.6.1 場景概述 601

24.6.2 改進Web服務協定概述 601

24.6.3 使用wsHttpBinding 606

24.6.4 wsHttpBinding的地址和配置 607

24.6.5 wsHttpBinding特點總結 609

24.6.6 使用wsDualHttpBinding 610

24.6.7 wsDualHttpBinding的地址和配置 611

24.6.8 wsDualHttpBinding特點總結 613

24.6.9 使用ws2007HttpBinding 613

24.7 使用脫機模式進行訊息互動的綁定和地址 613

24.7.1 場景概述 614

24.7.2MSMQ協定概述 614

24.7.3 使用netMsmqBinding 615

24.7.4 netMsmqBinding的地址和配置 616

24.7.5 netMsmqBinding特點總結 619

24.7.6 使用msmqIntegrationBinding 619

24.7.7 msmqIntegrationBinding的地址和配置 620

24.7.8 msmqIntegrationBinding特點總結 622

24.8 小結 623

第25章 定義服務:契約編程 624

25.1 契約定義和分類 624

25.1.1 什麼是契約 624

25.1.2 契約分類 624

25.2 服務契約 625

25.2.1 服務契約和WSDL 625

25.2.2 服務契約的重載問題 627

25.2.3 定義請求-回響操作 629

25.2.4 定義單程操作 630

25.2.5 定義雙程操作 632

25.2.6 WCF中事件的實現 640

25.3 數據契約 644

25.3.1 數據契約和xsd644

25.3.2 使用DataContract特性定義數據契約 646

25.3.3 數據契約的繼承 649

25.3.4 已知類型的定義 650

25.3.5 數據契約的等效性 655

25.3.6 數據契約的版本控制 658

25.3.7 定義必需的數據成員 660

25.3.8 數據默認值的傳送 662

25.3.9 數組和集合的處理 663

25.4 訊息契約 667

25.4.1 訊息契約基本概念 667

25.4.2 強類型訊息 668

25.4.3 弱類型訊息 674

25.5 錯誤處理和錯誤契約 678

25.5.1 SOAP訊息的錯誤處理 678

25.5.2 服務端未捕獲的異常 679

25.5.3 包含詳細異常信息 681

25.5.4 捕捉服務異常 682

25.5.5 FaultCode和FaultReason的使用 684

25.5.6 使用錯誤契約和FaultException 685

25.6 小結 688

第26章 WCF中的行為 689

26.1 實例管理 689

26.1.1 實例管理的設定 689

26.1.2 PerCall實例策略 690

26.1.3 PerSession實例策略和會話 692

26.1.4 Single實例策略 695

26.2 並發管理 698

26.2.1 並發管理的設定 698

26.2.2 Single併發模式 699

26.2.3 Multiple併發模式 701

26.2.4reentrant併發模式 703

26.3 元數據的發布 706

26.3.1 HTTP-GET方式發布元數據 706

26.3.2 MEX終節點方式發布元數據 708

26.4 事務管理 710

26.4.1 事務的基本概念和特性 710

26.4.2 單服務事務 710

26.4.3 分散式事務 715

26.4.4 事務協定和事務管理器 721

26.5 小結 723

第27章 安全 724

27.1 常用概念介紹 724

27.1.1 身份驗證 724

27.1.2 授權 725

27.1.3 保密性 725

27.1.4 完整性 725

27.1.5 憑據 725

27.2 傳輸安全性 726

27.2.1 傳輸安全性的三要素 726

27.2.2 WCF支持的傳輸安全模式 726

27.2.3 傳輸安全模式的配置 727

27.2.4 Transport安全模式下的憑證 728

27.2.5 Message安全模式下的憑證 729

27.3 區域網路內Windows平台系統的安全性 729

27.3.1 場景分析 729

27.3.2 服務定義 730

27.3.3 身份認證 732

27.3.4 授權 734

27.4 跨Internet系統的安全性 738

27.4.1 場景概述和綁定選擇 738

27.4.2 訊息安全 739

27.4.3 身份認證 742

27.4.4 授權 744

27.5 安全機制的日誌和跟蹤 745

27.6 小結 746

第28章 自動點滴管理系統 747

28.1 需求分析 747

28.1.1 系統介紹 747

28.1.2 客戶端功能 747

28.1.3 服務端功能 748

28.2 系統設計 748

28.2.1 服務邊界和接口 748

28.2.2 傳輸和寄宿的設計 749

28.2.3 界面的設計 749

28.3 系統實現 750

28.3.1 服務契約的定義 750

28.3.2 數據契約的定義 751

28.3.3 服務的實現 756

28.3.4 控制台實現 762

28.3.5 客戶端實現 770

28.4 運行和測試 778

28.5 小結 778

相關詞條

相關搜尋

熱門詞條

聯絡我們