第Ⅰ部分 C# 語 言
第1章 .NET體系結構 3
1.1 C#與.NET的關系 3
1.2 公共語言運行庫 3
1.3 詳細介紹中間語言 6
1.3.1 面向對象和接口的支持 7
1.3.2 相異值類型和引用類型 8
1.3.3 強數據類型 8
1.3.4 通過異常方法處理錯誤 14
1.3.5 特性的使用 14
1.4 程序集 14
1.4.1 私有程序集 15
1.4.2 共享程序集 16
1.4.3 反射 16
1.5 .NET Framework類 16
1.6 命名空間 17
1.7 用C#創(chuàng)建.NET應用程序 18
1.7.1 創(chuàng)建ASP.NET應用程序 18
1.7.2 創(chuàng)建Windows窗體 20
1.7.3 Windows控件 20
1.7.4 Windows服務 20
1.8 C#在.NET企業(yè)體系結構中
的作用 20
1.9 小結 22
第2章 C#基礎 23
2.1 引言 23
2.2 第一個C#程序 23
2.2.1 代碼 24
2.2.2 編譯并運行程序 24
2.2.3 詳細介紹 25
2.3 變量 27
2.3.1 變量的初始化 27
2.3.2 變量的作用域 28
2.3.3 常量 31
2.4 預定義數據類型 32
2.4.1 值類型和引用類型 32
2.4.2 CTS類型 33
2.4.3 預定義的值類型 33
2.4.4 預定義的引用類型 36
2.5 流控制 39
2.5.1 條件語句 39
2.5.2 循環(huán) 43
2.5.3 跳轉語句 46
2.6 枚舉 47
2.7 數組 49
2.8 命名空間 50
2.8.1 using語句 51
2.8.2 命名空間的別名 52
2.9 Main()方法 53
2.9.1 多個Main()方法 53
2.9.2 給Main()方法傳送參數 54
2.10 有關編譯C#文件的更多內容 55
2.11 控制臺I/O 56
2.12 使用注釋 58
2.12.1 源文件中的內部注釋 58
2.12.2 XML文檔說明 59
2.13 C#預處理器指令 61
2.13.1 #define和 #undef 61
2.13.2 #if, #elif, #else和#endif 62
2.13.3 #warning和# error 63
2.13.4 #region和#endregion 63
2.13.5 #line 64
2.13.6 #pragma 64
2.14 C#編程規(guī)則 64
2.14.1 用于標識符的規(guī)則 64
2.14.2 用法約定 65
2.15 小結 71
第3章 對象和類型 72
3.1 類和結構 72
3.2 類成員 73
3.2.1 數據成員 73
3.2.2 函數成員 74
3.2.3 只讀字段 88
3.3 結構 89
3.3.1 結構是值類型 90
3.3.2 結構和繼承 91
3.3.3 結構的構造函數 91
3.4 部分類 92
3.5 靜態(tài)類 94
3.6 Object類 94
3.6.1 System.Object方法 94
3.6.2 ToString()方法 95
3.7 小結 97
第4章 繼承 98
4.1 繼承的類型 98
4.1.1 實現繼承和接口繼承 98
4.1.2 多重繼承 99
4.1.3 結構和類 99
4.2 實現繼承 99
4.2.1 虛方法 100
4.2.2 隱藏方法 101
4.2.3 調用函數的基類版本 102
4.2.4 抽象類和抽象函數 103
4.2.5 密封類和密封方法 103
4.2.6 派生類的構造函數 104
4.3 修飾符 109
4.3.1 可見性修飾符 109
4.3.2 其他修飾符 110
4.4 接口 111
4.4.1 定義和實現接口 112
4.4.2 派生的接口 116
4.5 小結 118
第5章 運算符和類型強制轉換 119
5.1 運算符 119
5.1.1 運算符的簡化操作 120
5.1.2 三元運算符 121
5.1.3 checked和unchecked運算符 122
5.1.4 is運算符 123
5.1.5 as運算符 123
5.1.6 sizeof運算符 123
5.1.7 typeof運算符 124
5.1.8 可空類型和運算符 124
5.1.9 空接合運算符 124
5.1.10 運算符的優(yōu)先級 125
5.2 類型的安全性 125
5.2.1 類型轉換 126
5.2.2 裝箱和拆箱 130
5.3 對象的相等比較 130
5.3.1 引用類型的相等比較 131
5.3.2 值類型的相等比較 132
5.4 運算符重載 132
5.4.1 運算符的工作方式 133
5.4.2 運算符重載的示例:
Vector結構 134
5.5 用戶定義的數據類型轉換 141
5.5.1 執(zhí)行用戶定義的類型轉換 142
5.5.2 多重數據類型轉換 149
5.6 小結 152
第6章 委托和事件 153
6.1 委托 153
6.1.1 在C#中聲明委托 154
6.1.2 在C#中使用委托 155
6.2 匿名方法 158
6.2.1 簡單的委托示例 159
6.2.2 BubbleSorter示例 161
6.2.3 多播委托 164
6.3 事件 166
6.3.1 從客戶的角度討論事件 167
6.3.2 生成事件 169
6.4 小結 173
第7章 內存管理和指針 174
7.1 后臺內存管理 174
7.1.1 值數據類型 174
7.1.2 引用數據類型 176
7.1.3 垃圾收集 178
7.2 釋放未托管的資源 179
7.2.1 析構函數 179
7.2.2 IDisposable接口 180
7.2.3 實現IDisposable接口和
析構函數 182
7.3 不安全的代碼 183
7.3.1 指針 183
7.3.2 指針示例PointerPlayaround 193
7.3.3 使用指針優(yōu)化性能 197
7.4 小結 201
第8章 字符串和正則表達式 202
8.1 System.String類 202
8.1.1 創(chuàng)建字符串 203
8.1.2 StringBuilder成員 206
8.1.3 格式化字符串 207
8.2 正則表達式 213
8.2.1 正則表達式概述 213
8.2.2 RegularExpressionsPlayaround
示例 214
8.2.3 顯示結果 216
8.2.4 匹配、組合和捕獲 218
8.3 小結 220
第9章 集合 221
9.1 對象組 221
9.1.1 集合 222
9.1.2 數組列表 225
9.1.3 Stack類 229
9.1.4 Queue類 231
9.1.5 SortedList類 232
9.1.6 字典和散列表 234
9.1.7 泛型 243
9.2 小結 244
第10章 泛型 245
10.1 概述 245
10.1.1 性能 245
10.1.2 類型安全 246
10.1.3 二進制代碼的重用 247
10.1.4 代碼的擴展 247
10.1.5 命名約定 248
10.2 泛型集合類 248
10.2.1 泛型集合概述 248
10.2.2 使用List類 251
10.2.3 使用Queue類 256
10.2.4 使用LinkedList類 260
10.3 創(chuàng)建定制的泛型類 265
10.3.1 默認值 267
10.3.2 約束 267
10.4 泛型方法 270
10.5 泛型委托 272
10.6 Framework的其他泛型類型 274
10.6.1 結構Nullable 274
10.6.2 EventHandler
276
10.6.3 ArraySegment 276
10.7 小結 277
第11章 反射 278
11.1 定制特性 278
11.1.1 編寫定制特性 279
11.1.2 定制特性示例:
WhatsNewAttributes 282
11.2 反射 286
11.2.1 System.Type類 286
11.2.2 TypeView示例 288
11.2.3 Assembly類 291
11.2.4 完成WhatsNewAttributes
示例 292
11.3 小結 296
第12章 錯誤和異常 297
12.1 錯誤和異常處理 297
12.1.1 異常類 297
12.1.2 捕獲異常 299
12.1.3 用戶定義的異常類 308
12.2 小結 316
第13章 線程 317
13.1 線程 317
13.2 多線程應用程序 318
13.3 線程的處理 319
13.3.1 ThreadPlayaround示例 322
13.3.2 線程的優(yōu)先級 325
13.3.3 同步 326
13.4 使用ThreadPool創(chuàng)建線程 330
13.5 小結 334
第Ⅱ部分 .NET 環(huán) 境
第14章 Visual Studio 2005 337
14.1 使用Visual Studio 2005 337
14.1.1 創(chuàng)建項目 341
14.1.2 解決方案和項目 347
14.1.3 Windows應用程序代碼 349
14.1.4 讀取Visual Studio 6項目 350
14.1.5 項目的瀏覽和編碼 350
14.1.6 生成項目 360
14.1.7 調試 363
14.2 修訂功能 366
14.3 小結 368
第15章 程序集 369
15.1 程序集的含義 369
15.1.1 DLL Hell的解決方案 370
15.1.2 程序集的特性 370
15.1.3 應用程序域和程序集 371
15.2 程序集的結構 374
15.2.1 程序集的清單 374
15.2.2 命名空間、程序集和組件 375
15.2.3 私有程序集和共享程序集 375
15.2.4 查看程序集 375
15.2.5 構建程序集 376
15.3 跨語言支持 380
15.3.1 CTS和CLS 380
15.3.2 語言無關性 381
15.3.3 CLS要求 389
15.4 全局程序集緩存 391
15.4.1 本機圖像生成器 391
15.4.2 全局程序集緩存查看器 392
15.4.3 全局程序集緩存工具
(gacutil.exe) 393
15.5 創(chuàng)建共享程序集 393
15.5.1 共享程序集名 393
15.5.2 創(chuàng)建共享程序集 395
15.6 配置 400
15.6.1 配置類別 400
15.6.2 版本問題 401
15.6.3 配置目錄 409
15.7 小結 411
第16章 .NET的安全性 412
16.1 代碼訪問的安全性 412
16.1.1 代碼組 413
16.1.2 代碼訪問權限和權限集 419
16.1.3 策略的級別:Machine、
User和Enterprise 423
16.2 對Framework中安全性的
支持 425
16.2.1 要求權限 426
16.2.2 請求權限 427
16.2.3 隱式的權限 430
16.2.4 拒絕權限 431
16.2.5 斷言權限 432
16.2.6 創(chuàng)建代碼訪問權限 433
16.2.7 聲明的安全性 434
16.3 安全策略的管理 435
16.3.1 安全配置文件 435
16.3.2 代碼組和權限的管理 438
16.3.3 安全性的啟用和禁用 438
16.3.4 重置安全策略 439
16.3.5 代碼組的創(chuàng)建 439
16.3.6 代碼組的刪除 440
16.3.7 代碼組權限的更改 440
16.3.8 權限集的創(chuàng)建和應用 441
16.3.9 使用強名發(fā)布代碼 443
16.3.10 使用證書發(fā)布代碼 445
16.3.11 區(qū)域的管理 449
16.4 基于角色的安全性 451
16.4.1 Principal 451
16.4.2 Windows Principal 452
16.4.3 角色 454
16.4.4 聲明基于角色的安全性 454
16.5 小結 455
第17章 本地化 456
17.1 System.Globalization
命名空間 456
17.1.1 Unicode問題 456
17.1.2 文化和區(qū)域 457
17.1.3 使用文化 461
17.1.4 排序 466
17.2 資源 467
17.2.1 創(chuàng)建資源文件 468
17.2.2 資源文件生成器 468
17.2.3 ResourceWriter 468
17.2.4 使用資源文件 469
17.2.5 System.Resources
命名空間 474
17.3 使用Visual Studio的本地化
示例 475
17.3.1 編程修改文化 480
17.3.2 使用定制資源文件 481
17.3.3 資源的自動回退 482
17.3.4 外包翻譯 482
17.4 用ASP.NET本地化 483
17.5 定制的資源讀取器 485
17.5.1 創(chuàng)建DatabaseResource
Reader類 485
17.5.2 創(chuàng)建DatabaseResource
Set類 487
17.5.3 創(chuàng)建DatabaseResource
Manager類 487
17.5.4 DatabaseResourceReader的
客戶應用程序 488
17.6 創(chuàng)建定制文化 489
17.7 小結 489
第18章 部署 490
18.1 部署的設計 490
18.2 部署選項 490
18.2.1 Xcopy實用工具 491
18.2.2 Copy Web工具 491
18.2.3 發(fā)布Web站點 491
18.2.4 部署項目 491
18.2.5 ClickOnce 491
18.3 部署的要求 491
18.4 簡單的部署 492
18.4.1 Xcopy部署 493
18.4.2 Xcopy和Web應用程序 493
18.4.3 Copy Web工具 493
18.4.4 發(fā)布Web站點 494
18.5 Installer項目 494
18.5.1 Windows Installer 495
18.5.2 創(chuàng)建安裝程序 495
18.6 ClickOnce 504
18.6.1 ClickOnce操作 504
18.6.2 發(fā)布應用程序 504
18.6.3 ClickOnce設置 505
18.6.4 應用程序緩存 505
18.6.5 安全性 506
18.6.6 高級選項 506
18.7 小結 511
第Ⅲ部分 數 據
第19章 .NET數據訪問 515
19.1 ADO.NET概述 515
19.1.1 命名空間 516
19.1.2 共享類 516
19.1.3 數據庫特定的類 516
19.2 使用數據庫連接 517
19.2.1 管理連接字符串 518
19.2.2 高效地使用連接 520
19.2.3 事務處理 522
19.3 命令 524
19.3.1 執(zhí)行命令 525
19.3.2 調用存儲過程 528
19.4 快速數據訪問:數據讀取器 531
19.5 管理數據和關系:DataSet類 534
19.5.1 數據表 535
19.5.2 數據列 536
19.5.3 數據關系 541
19.5.4 數據約束 542
19.6 XML模式 544
19.7 填充數據集 552
19.7.1 用數據適配器來填充
DataSet 552
19.7.2 從XML中給數據集填充
數據 553
19.8 保存對數據集的修改 553
19.8.1 通過數據適配器進行更新 554
19.8.2 寫入XML輸出結果 556
19.9 使用ADO.NET 558
19.9.1 分層開發(fā) 558
19.9.2 生成SQL Server的鍵 559
19.9.3 命名約定 561
19.10 小結 562
第20章 .NET編程和
SQL Server 2005 564
20.1 .NET運行庫的主機 564
20.2 Microsoft.SqlServer.Server 565
20.3 用戶定義的類型 566
20.3.1 創(chuàng)建UDT 566
20.3.2 使用UDT 572
20.3.3 在客戶端代碼中使用UDT 573
20.4 用戶定義的合計函數 574
20.4.1 創(chuàng)建用戶定義的合計函數 574
20.4.2 使用用戶定義的合計函數 575
20.5 存儲過程 576
20.5.1 創(chuàng)建存儲過程 576
20.5.2 使用存儲過程 577
20.6 用戶定義的函數 578
20.6.1 創(chuàng)建用戶定義的函數 578
20.6.2 使用用戶定義的函數 579
20.7 觸發(fā)器 579
20.7.1 創(chuàng)建觸發(fā)器 580
20.7.2 使用觸發(fā)器 581
20.8 XML數據類型 581
20.8.1 包含XML數據的表 582
20.8.2 數據的查詢 584
20.8.3 XML數據修改語言
(XML DML) 585
20.8.4 XML索引 586
20.8.5 強類型化的XML 587
20.9 小結 588
第21章 處理XML 589
21.1 .NET支持的XML標準 589
21.2 System.Xml命名空間 590
21.3 在.NET中使用MSXML 591
21.4 使用System.Xml類 593
21.5 讀寫流格式的XML 593
21.5.1 使用 XmlReader類 594
21.5.2 使用XmlReader類進行
驗證 597
21.5.3 使用XmlWriter類 599
21.6 在.NET中使用DOM 601
21.7 使用XPathNavigator 607
21.7.1 System.Xml.Xpath
命名空間 607
21.7.2 System.Xml.Xsl命名空間 612
21.8 XML和ADO.NET 617
21.8.1 將ADO.NET數據轉換為
XML文檔 617
21.8.2 把XML文檔轉換為
ADO.NET數據 624
21.8.3 讀寫DiffGram 626
21.9 在XML中串行化對象 629
21.10 小結 639
第22章 使用Active Directory 640
22.1 Active Directory的體系結構 640
22.1.1 特性 641
22.1.2 Active Directory的概念 641
22.1.3 Active Directory數據的
特性 645
22.1.4 模式 645
22.2 Active Directory的管理工具 646
22.2.1 Active Directory Users and
Computers工具 646
22.2.2 ADSI Edit工具 647
22.3 Active Directory編程 648
22.3.1 System.DirectoryServices命名
空間中的類 649
22.3.2 綁定 650
22.3.3 獲取目錄項 654
22.3.4 對象集合 655
22.3.5 緩存 656
22.3.6 創(chuàng)建新對象 657
22.3.7 更新目錄項 658
22.3.8 訪問內部的ADSI對象 658
22.3.9 在Active Directory中搜索 660
22.4 搜索用戶對象 663
22.4.1 用戶界面 663
22.4.2 獲取模式命名環(huán)境 664
22.4.3 獲取User類的屬性名 665
22.4.4 搜索用戶對象 666
22.5 DSML 668
22.5.1 命名空間
System.DirectoryServices.
Protocols中的類 668
22.5.2 用DSML搜索Active
Directory對象 669
22.6 小結 671
第Ⅳ部分 Windows應用程序
第23章 Windows窗體 675
23.1 創(chuàng)建Windows窗體應用程序 675
23.2 Control類 681
23.2.1 大小和位置 682
23.2.2 外觀 683
23.2.3 用戶交互操作 683
23.2.4 Windows功能 684
23.2.5 雜項功能 685
23.3 標準控件和組件 685
23.3.1 Button控件 686
23.3.2 CheckBox控件 686
23.3.3 RadioButton控件 687
23.3.4 ComboBox控件、ListBox
控件和CheckedListBox控件 687
23.3.5 DateTimePicker控件 690
23.3.6 ErrorProvider組件 690
23.3.7 HelpProvider組件 691
23.3.8 ImageList組件 692
23.3.9 Label控件 692
23.3.10 ListView控件 692
23.3.11 PictureBox控件 694
23.3.12 ProgressBar控件 695
23.3.13 TextBox控件、RichTextBox
控件與MaskedTextBox
控件 695
23.3.14 Panel控件 696
23.3.15 FlowLayoutPanel和
TableLayoutPanel控件 696
23.3.16 SplitContainer控件 697
23.3.17 TabControl控件和TabPages
控件 698
23.3.18 ToolStrip控件 698
23.3.19 MenuStrip控件 701
23.3.20 ContextMenuStrip控件 701
23.3.21 ToolStripMenuItem控件 701
23.3.22 ToolStripManager類 702
23.3.23 ToolStripContainer控件 702
23.4 窗體 702
23.4.1 Form類 703
23.4.2 多文檔界面 708
23.4.3 定制控件 708
23.5 小結 721
第24章 查看.NET數據 722
24.1 DataGridView控件 722
24.1.1 顯示列表數據 722
24.1.2 數據源 724
24.2 DataGridView類的層次結構 732
24.3 數據綁定 735
24.3.1 簡單的綁定 735
24.3.2 數據綁定對象 735
24.4 Visual Studio.NET和
數據訪問 739
24.4.1 創(chuàng)建一個連接 740
24.4.2 選擇數據 742
24.4.3 更新數據源 743
24.4.4 構建模式 743
24.4.5 其他常見的要求 749
24.5 小結 757
第25章 使用GDI+繪圖 758
25.1 理解繪圖規(guī)則 758
25.1.1 GDI和GDI+ 758
25.1.2 繪制圖形 760
25.1.3 使用OnPaint()繪制圖形 763
25.1.4 使用剪切區(qū)域 764
25.2 測量坐標和區(qū)域 766
25.2.1 Point和PointF結構 766
25.2.2 Size和SizeF結構 767
25.2.3 Rectangle和RectangleF
結構 769
25.2.4 Region 770
25.3 調試須知 770
25.4 繪制可滾動的窗口 771
25.5 世界、頁面和設備坐標 776
25.6 顏色 777
25.6.1 紅綠藍(RGB)值 777
25.6.2 命名的顏色 777
25.6.3 圖形顯示模式和安全的
調色板 778
25.6.4 安全調色板 779
25.7 畫筆和鋼筆 779
25.7.1 畫筆 779
25.7.2 鋼筆 780
25.8 繪制圖形和線條 781
25.9 顯示圖像 783
25.10 處理圖像時所涉及到的問題 785
25.11 繪制文本 786
25.12 簡單的文本示例 787
25.13 字體和字體系列 788
25.14 示例:枚舉字體系列 790
25.15 編輯文本文檔:CapsEditor
示例 792
25.15.1 Invalidate()方法 796
25.15.2 計算項和文檔的大小 797
25.15.3 OnPaint() 799
25.15.4 坐標轉換 800
25.15.5 響應用戶的輸入 802
25.16 打印 805
25.17 小結 810
第Ⅴ部分 Web應用程序
第26章 ASP.NET頁面 813
26.1 ASP.NET概述 813
26.2 ASP.NET Web窗體 814
26.2.1 ASP.NET代碼模型 818
26.2.2 ASP.NET服務器控件 818
26.3 ADO.NET和數據綁定 833
26.3.1 更新會議登記應用程序 833
26.3.2 數據綁定的更多內容 840
26.4 應用程序配置 845
26.5 小結 847
第27章 ASP.NET開發(fā) 848
27.1 定制控件 848
27.1.1 用戶控件 849
27.1.2 PCSDemoSite中的用戶
控件 855
27.1.3 定制控件 856
27.2 Master頁面 860
27.3 站點導航 864
27.4 安全性 867
27.4.1 使用安全向導添加Forms
身份驗證功能 867
27.4.2 實現登錄系統(tǒng) 870
27.4.3 Web 登錄服務器控件 871
27.4.4 保護目錄 872
27.4.5 PCSDemoSite中的安全性 872
27.5 主題 874
27.5.1 把主題應用于頁面 875
27.5.2 定義主題 876
27.5.3 PCSDemoSite中的主題 876
27.6 小結 879
第Ⅵ部分 通 信
第28章 Web服務 883
28.1 SOAP 883
28.2 WSDL 885
28.3 Web服務 886
28.3.1 創(chuàng)建Web服務 886
28.3.2 使用Web服務 890
28.4 擴充會議登記示例 892
28.4.1 會議登記Web服務 892
28.4.2 會議登記客戶程序 897
28.5 使用SOAP標題交換數據 901
28.6 小結 906
第29章 .NET Remoting 908
29.1 .NET Remoting的含義 908
29.1.1 應用程序類型和協(xié)議 909
29.1.2 CLR Object Remoting 909
29.2 .NET Remoting概述 910
29.3 環(huán)境 912
29.3.1 激活 913
29.3.2 特性和屬性 913
29.3.3 環(huán)境之間的通信 914
29.4 遠程對象、客戶機和服務器 914
29.4.1 遠程對象 914
29.4.2 簡單的服務器 915
29.4.3 簡單的客戶機 916
29.5 .NET Remoting體系結構 917
29.5.1 信道 918
29.5.2 格式標識符 922
29.5.3 ChannelServices和
RemotingConfiguration 922
29.5.4 對象的激活 924
29.5.5 消息接收器 927
29.5.6 在遠程方法中傳遞對象 928
29.5.7 生存期管理 933
29.6 .NET Remoting的其他特性 936
29.6.1 配置文件 936
29.6.2 利用ASP.NET駐留遠程
服務器 946
29.6.3 類、接口和Soapsuds 948
29.6.4 異步遠程調用 949
29.6.5 .NET Remoting的安全性 950
29.6.6 遠程調用和事件 952
29.6.7 調用環(huán)境 958
29.7 小結 960
第30章 Enterprise Services 961
30.1 概述 961
30.1.1 Enterprise Services簡史 961
30.1.2 使用Enterprise Services的
場合 962
30.1.3 環(huán)境 963
30.1.4 自動的事務處理 963
30.1.5 分布式事務處理 963
30.1.6 對象池 963
30.1.7 基于角色的安全性 964
30.1.8 排隊的組件 964
30.1.9 松散藕合的事件 964
30.1.10 沒有組件的服務 964
30.2 創(chuàng)建簡單的COM+應用程序 965
30.2.1 類ServicedComponent 965
30.2.2 標記程序集 965
30.2.3 程序集的屬性 965
30.2.4 創(chuàng)建組件 966
30.3 部署 967
30.3.1 自動部署 967
30.3.2 手工部署 968
30.3.3 創(chuàng)建安裝軟件包 968
30.4 Component Services瀏覽器 969
30.5 客戶應用程序 971
30.6 事務處理 971
30.6.1 ACID屬性 972
30.6.2 事務處理的屬性 972
30.6.3 事務處理的結果 973
30.7 示例應用程序 973
30.7.1 實體類 974
30.7.2 OrderControl組件 978
30.7.3 OrderData組件 978
30.7.4 OrderLineData組件 981
30.7.5 客戶應用程序 983
30.8 沒有組件的服務 984
30.9 小結 986
第31章 消息隊列 988
31.1 概述 988
31.1.1 使用Message Queuing
的場合 989
31.1.2 Message Queuing特性 990
31.2 Message Queuing產品 990
31.3 Message Queuing結構 991
31.3.1 消息 991
31.3.2 消息隊列 992
31.4 Message Queuing管理工具 992
31.4.1 創(chuàng)建消息隊列 992
31.4.2 消息隊列屬性 993
31.5 Message Queuing的編程實現 994
31.5.1 創(chuàng)建消息隊列 994
31.5.2 查找隊列 995
31.5.3 打開已知的隊列 996
31.5.4 發(fā)送消息 997
31.5.5 接收消息 1000
31.6 課程訂單應用程序 1002
31.6.1 課程訂單類庫 1002
31.6.2 課程訂單消息發(fā)送程序 1005
31.6.3 發(fā)送優(yōu)先級和可恢復
的消息 1006
31.6.4 課程訂單消息接收程序 1007
31.7 接收結果 1010
31.7.1 確認隊列 1011
31.7.2 響應隊列 1012
31.8 事務隊列 1012
31.9 消息隊列的安裝 1013
31.10 小結 1014
第32章 分布式編程的未來產品 1015
32.1 現有技術的問題 1015
32.2 Web服務 1016
32.2.1 安全性 1017
32.2.2 可靠性 1018
32.2.3 事務處理 1020
32.2.4 性能 1021
32.3 WCF概述 1023
32.4 用WCF編程 1025
32.4.1 契約 1025
32.4.2 服務程序的實現 1027
32.4.3 綁定 1028
32.4.4 主機 1030
32.4.5 客戶程序 1031
32.5 準備使用WCF 1032
32.5.1 .NET Remoting 1032
32.5.2 ASP.NET Web服務 1033
32.5.3 Enterprise Services 1033
32.5.4 Message Queuing 1034
32.6 小結 1035
第Ⅶ部分 互 操 作 性
第33章 COM的互操作性 1039
33.1 .NET和COM 1039
33.1.1 元數據 1040
33.1.2 釋放內存 1040
33.1.3 接口 1040
33.1.4 方法綁定 1042
33.1.5 數據類型 1042
33.1.6 注冊 1042
33.1.7 線程 1043
33.1.8 錯誤處理 1044
33.1.9 事件處理 1045
33.2 編組 1045
33.3 在.NET客戶程序中使用COM
組件 1046
33.3.1 創(chuàng)建COM組件 1046
33.3.2 創(chuàng)建Runtime Callable
Wrapper 1050
33.3.3 線程問題 1053
33.3.4 添加連接點 1053
33.3.5 在Windows窗體中使用
ActiveX控件 1055
33.3.6 在ASP.NET中使用COM
對象 1058
33.4 在COM客戶程序中使用.NET
組件 1058
33.4.1 COM Callable Wrapper 1058
33.4.2 創(chuàng)建.NET組件 1059
33.4.3 創(chuàng)建類型庫 1060
33.4.4 COM互操作特性 1062
33.4.5 COM注冊 1065
33.4.6 創(chuàng)建COM客戶程序 1066
33.4.7 添加連接點 1068
33.4.8 用sink對象創(chuàng)建
客戶程序 1069
33.4.9 在Internet Explorer中運行
Windows窗體控件 1070
33.5 小結 1070
第Ⅷ部分 Windows基本服務
第34章 文件和注冊表操作 1073
34.1 管理文件系統(tǒng) 1073
34.1.1 表示文件和文件夾的
.NET類 1074
34.1.2 Path類 1077
34.1.3 示例:文件瀏覽器 1077
34.2 移動、復制和刪除文件 1082
34.2.1 FilePropertiesAndMovement
示例 1082
34.2.2 示例
FilePropertiesAndMovement
的代碼 1083
34.3 讀寫文件 1087
34.3.1 讀取文件 1087
34.3.2 寫入文件 1089
34.3.3 流 1090
34.3.4 緩存的流 1092
34.3.5 讀寫二進制文件 1092
34.3.6 讀寫文本文件 1097
34.4 讀取驅動器信息 1103
34.5 文件的安全性 1105
34.5.1 從文件中讀取ACL 1106
34.5.2 從目錄中讀取ACL 1107
34.5.3 添加和刪除文件中的
ACL項 1109
34.6 讀寫注冊表 1110
34.6.1 注冊表 1111
34.6.2 .NET注冊表類 1112
34.6.3 SelfPlacingWindow示例 1115
34.7 小結 1121
第35章 訪問Internet 1122
35.1 WebClient類 1122
35.1.1 下載文件 1123
35.1.2 基本的Web客戶示例 1123
35.1.3 上傳文件 1124
35.2 WebRequest類和WebResponse
類 1125
35.3 把輸出結果顯示為HTML
頁面 1128
35.3.1 在應用程序中進行簡單的
Web瀏覽 1128
35.3.2 啟動Internet Explorer
實例 1130
35.3.3 給應用程序提供更多的IE
類型特性 1131
35.3.4 使用WebBrowser控件顯示
文檔 1137
35.3.5 使用WebBrowser
控件打印 1138
35.3.6 顯示請求頁面的代碼 1138
35.3.7 WebRequest和WebResponse
的層次結構 1140
35.4 實用工具類 1140
35.4.1 URI 1140
35.4.2 IP地址和DNS名稱 1141
35.5 較低層的協(xié)議 1144
35.6 小結 1150
第36章 Windows服務 1151
36.1 Windows服務 1151
36.2 Windows服務的體系結構 1152
36.2.1 服務程序 1152
36.2.2 服務控制程序 1153
36.2.3 服務配置程序 1154
36.3 System.ServiceProcess
命名空間 1154
36.4 創(chuàng)建Windows服務 1154
36.4.1 使用套接字的類庫 1155
36.4.2 TcpClient示例 1159
36.4.3 Windows服務項目 1160
36.4.4 線程和服務 1166
36.4.5 服務的安裝 1166
36.4.6 安裝程序 1166
36.5 服務的監(jiān)視和控制 1171
36.5.1 MMC計算機管理 1171
36.5.2 net.exe 1172
36.5.3 sc.exe 1173
36.5.4 Visual Studio Server
Explorer 1173
36.5.5 ServiceController類 1174
36.6 故障排除 1179
36.6.1 交互式服務 1180
36.6.2 事件日志 1181
36.6.3 性能監(jiān)視 1186
36.7 電源事件 1190
36.8 小結 1191