第1篇 C#基础 3
第1章 认识Visual C 3
1.1 C#概述 4
1.1.1 C#发展历程 4
1.1.2 C#的特点 4
1.1.3 C#语言编程环境 4
1.2 .NET Framework简介 5
1.2.1 什么是.NET Framework 5
1.2.2 C#与.NET的关系 6
1.3 安装与卸载Visual Studio 2005 6
1.3.1 硬件环境 6
1.3.2 软件环境 7
1.3.3 安装Visual Studio 2005 7
1.3.4 卸载Visual Studio 2005 10
1.4 Visual Studio 2005开发环境的启动与项目创建 11
1.4.1 启动Visual Studio 2005 11
1.4.2 创建项目 12
1.4.3 新建网站 13
1.5 Visual Studio 2005集成开发环境 13
1.5.1 新特性 13
1.5.2 主窗口 14
1.5.3 菜单栏 15
1.5.4 工具栏 18
1.5.5 文档窗口 18
1.5.6 工具箱窗口 19
1.5.7 解决方案资源管理器窗口 20
1.5.8 属性窗口 20
1.6 Visual Studio 2005帮助系统 21
1.6.1 安装与运行MSDN 21
1.6.2 查看Help主题 24
1.6.3 上下文相关帮助 25
1.6.4 管理窗口 25
第2章 C#语言基础 27
2.1 C#语言简介 28
2.2 数据类型 28
2.2.1 值类型 28
2.2.2 引用类型 30
2.2.3 装箱和拆箱 31
2.3 变量和常量 31
2.3.1 变量 31
2.3.2 常量 33
2.4 数据类型转换 34
2.4.1 隐式类型转换 34
2.4.2 显示类型转换 34
2.5 运算符 35
2.5.1 算术运算符 35
2.5.2 赋值运算符 36
2.5.3 关系运算符 38
2.5.5 逻辑运算符 38
2.5.6 位运算 38
2.5.7 其他特殊运算符 38
2.5.8 运算符的优先级 39
2.6 C# 2.0新特性 40
2.6.1 泛型 40
2.6.2 匿名方法 41
2.6.3 迭代器 42
2.6.4 局部类 43
2.7 程序编写规范 43
2.7.1 代码书写规则 43
2.7.2 命名规范 44
第3章 C#语句控制 47
3.1 选择语句 48
3.1.1 if语句 48
3.1.2 switch语句 50
3.2 迭代语句 53
3.2.1 while语句 53
3.2.2 do-while语句 54
3.2.3 for语句 55
3.2.4 foreach语句 56
3.3 跳转语句 57
3.3.1 break语句 57
3.3.2 continue语句 58
3.3.3 goto语句 59
3.3.4 return语句 60
3.4 异常处理语句 60
3.4.1 throw语句 61
3.4.2 try-catch语句 62
3.4.3 try-catch-finally语句 63
第4章 数组与集合 65
4.1 数组的概念 66
4.2 一维数组 66
4.2.1 一维数组的声明 66
4.2.2 一维数组的使用 66
4.3 二维数组及多维数组 67
4.3.1 二维数组的声明 67
4.3.2 二维数组的使用 68
4.3.3 多维数组的声明 69
4.3.4 多维数组的使用 69
4.4 集合 69
4.4.1 集合的概述 70
4.4.2 常用的集合类型 70
第5章 面向对象编程 75
5.1 什么是面向对象编程 76
5.2 类 76
5.3 对象 77
5.4 构造函数和析构函数 77
5.5 方法 78
5.5.1 方法的格式 78
5.5.2 方法的返回值 79
5.5.3 方法的参数 79
5.5.4 方法的重载 79
5.6 封装、继承和多态 80
5.6.1 封装 80
5.6.2 继承 80
5.6.3 多态 81
5.7 接口 81
5.7.1 定义接口 81
5.7.2 接口继承 82
5.8 域和属性 82
5.8.1 域 82
5.8.2 属性 82
5.9 事件和索引器 83
5.9.1 事件 83
5.9.2 索引器 85
第6章 程序调试与错误处理 87
6.1 错误类型 88
6.2 程序调试 89
6.2.1 断点 89
6.2.2 开始执行 90
6.2.3 中断执行 91
6.2.4 停止执行 91
6.2.5 单步执行 91
6.2.6 运行到指定位置 91
6.3 错误处理 92
6.3.1 Web服务器配置不正确 92
6.3.2 IIS管理服务没有响应 92
6.3.3 未安装ASP.NET 93
第2篇 Windows窗体设计第7章 Windows窗体介绍 97
7.1 创建Windows窗体 98
7.1.1 Windows窗体概述 98
7.1.2 创建窗体 99
7.1.3 设置窗体的属性 101
7.1.4 为窗体添加控件 103
7.2 创建继承窗体 104
7.2.1 继承窗体概述 104
7.2.2 创建继承窗体 104
7.2.3 继承窗体的应用 106
7.3 创建MDI窗体 106
7.3.1 MDI窗体概述 106
7.3.2 创建MDI窗体 107
7.3.3 创建MDI应用程序 110
第8章 Windows控件与组件 113
8.1 控件与组件的概述 114
8.1.1 控件概述 114
8.1.2 组件概述 114
8.2 文本类型控件 115
8.2.1 Label控件 115
8.2.2 LinkLabel控件 117
8.2.3 TextBox控件 118
8.2.4 RichTextBox控件 120
8.3 动作类型控件 122
8.4 列表类型控件 123
8.4.1 ListBox控件 123
8.4.2 ComboBox控件 125
8.4.3 ListView控件 127
8.4.4 TreeView控件 129
8.4.5 NumericUpDown控件 132
8.5 值类型控件 134
8.5.1 CheckBox控件 134
8.5.2 RadioButton控件 136
8.5.3 CheckedListBox控件 136
8.6 图形显示类型控件 138
8.6.1 PictureBox控件 138
8.6.2 NotifyIcon控件 139
8.7 日期类型控件 141
8.7.1 DateTimePicker控件 141
8.7.2 MonthCalendar控件 143
8.8 其他类型控件 144
8.8.1 ToolTip控件 144
8.8.2 ProgressBar控件 145
8.8.3 WebBrower控件 146
8.8.4 MaskedTextBox控件 148
8.9 容器控件 150
8.9.1 FlowLayoutPanel控件 150
8.9.2 Panel控件 151
8.9.3 GroupBox控件 153
8.9.4 SplitContainer控件 153
8.9.5 TabControl控件 154
8.9.6 TableLayoutPanel控件 155
8.10 组件 157
8.10.1 BackgroundWorker组件 157
8.10.2 DirectoryEntry组件 159
8.10.3 DirectorySearcher组件 160
8.10.4 ErrorProvider组件 161
8.10.5 EventLog组件 163
8.10.6 FileSystemWatcher组件 166
8.10.7 HelpProvider组件 168
8.10.8 ImageList组件 170
8.10.9 MessageQueue组件 170
8.10.10 PerformanceCounter组件 172
8.10.11 ServiceControlle组件 174
8.10.12 Timer组件 176
第9章 用户控件 177
9.1 用户控件的概述 178
9.1.1 用户控件的概述 178
9.1.2 用户控件的优点 178
9.2 创建用户控件 178
9.3 用户控件的使用 180
第10章 菜单、工具栏和状态栏设计 183
10.1 菜单 184
10.1.1 菜单概念和用途 184
10.1.2 菜单的设计 185
10.2 工具栏 186
10.2.1 工具栏概念和用途 186
10.2.2 工具栏的设计 186
10.3 状态栏 189
10.3.1 状态栏概念和用途 189
10.3.2 状态栏的设计 189
第11章 对话框 193
11.1 消息对话框 194
11.2 关于对话框 202
11.3 公共对话框 204
11.3.1 “打开”对话框 204
11.3.2 “另存为”对话框 207
11.3.3 “颜色”对话框 208
11.3.4 “字体”对话框 210
第3篇 ASP.NET网站开发第12章 ASP.NET 2.0网站开发基础 215
12.1 ASP.NET 2.0运行环境配置与管理 216
12.1.1 安装IIS服务器 216
12.1.2 配置IIS服务器 218
12.2 ASP.NET 2.0基本设计步骤 221
12.2.1 创建ASP.NET 2.0网站 221
12.2.2 创建Web窗体 222
12.2.3 设计Web窗体界面 223
12.2.4 编写代码 223
12.2.5 运行程序 224
12.3 ASP.NET 2.0网页语法 225
12.3.1 ASP.NET 2.0网页扩展名 225
12.3.2 页面指令 226
12.3.3 ASPX文件内容注释 227
12.3.4 服务器端文件包含 227
12.3.5 HTML服务器控件语法 228
12.3.6 ASP.NET 2.0服务器语法 229
12.3.7 代码块语法〈%%〉 229
12.3.8 数据绑定语法 229
12.3.9 对象标记语法 230
12.3.10 表达式语法 231
12.4 Web.config文件配置 231
第13章 ASP.NET 2.0常用服务器控件 235
13.1 标准服务器控件 236
13.1.1 Label控件 236
13.1.2 TextBox控件 238
13.1.3 Button控件 242
13.1.4 LinkButton控件 244
13.1.5 ImageButton控件 244
13.1.6 HyperLink控件 246
13.1.7 ListBox控件 247
13.1.8 DropDownList控件 249
13.1.9 CheckBox控件 251
13.1.10 RadioButton控件 253
13.1.11 Calendar控件 254
13.1.12 FileUpload控件 255
13.1.13 标准服务器控件典型应用 257
13.2 验证控件 259
13.2.1 RequiredFieldValidator控件 259
13.2.2 RegularExpressionValidator控件 260
13.2.3 CompareValidator控件 262
13.2.4 ValidationSummary控件 263
13.2.5 验证控件典型应用 264
13.3 登录控件 265
13.3.1 Login控件 265
13.3.2 CreateUserWizard控件 266
13.3.3 登录控件典型应用 269
第14章 Web用户控件 273
14.1 用户控件的概述和用途 274
14.1.1 用户控件概述 274
14.1.2 用户控件的优点 274
14.2 创建用户控件 274
14.2.1 创建ASP.NET 2.0用户控件 274
14.2.2 将Web页转换为ASP.NET 2.0用户控件 278
14.3 用户控件的应用 280
14.3.1 站内搜索 280
14.3.2 导航条 281
第15章 ASP.NET 2.0内置对象 283
15.1 Response对象 284
15.1.1 Response对象的属性 284
15.1.2 Response对象的方法 285
15.1.3 Response对象的应用 287
15.2 Request对象 288
15.2.1 Request对象的属性 288
15.2.2 Request对象的方法 290
15.2.3 Request对象的应用 291
15.3 Application对象 292
15.3.1 Application对象的集合 292
15.3.2 Application对象的属性 293
15.3.3 Application对象的方法 294
15.3.4 Application对象的事件 295
15.3.5 Application对象的应用 296
15.4 Session对象 298
15.4.1 Session对象的集合 298
15.4.2 Session对象的属性 298
15.4.3 Session对象的方法 299
15.4.4 Session对象的事件 299
15.4.5 Session对象的应用 299
15.5 Server对象 301
15.5.1 Server对象的属性 301
15.5.2 Server对象的方法 301
15.5.3 Server对象的应用 302
15.6 Cookie对象 303
15.6.1 Cookie对象的属性 303
15.6.2 Cookie对象的方法 304
15.6.3 Cookie对象的应用 305
15.7 Cache对象 308
15.7.1 Cache对象的属性 308
15.7.2 Cache对象的方法 308
15.7.3 Cache对象的应用 310
15.8 全局程序集文件Global.asax 311
第16章 ASP.NET 2.0母版页 313
16.1 母版页的概述 314
16.2 创建母版页 316
16.3 创建内容页 318
16.4 嵌套母版页 319
16.5 访问母版页的控件和属性 321
第17章 ASP.NET 2.0主题 327
17.1 主题的概述 328
17.1.1 组成元素 328
17.1.2 文件存储和组织方式 329
17.2 创建主题 329
17.2.1 创建外观文件 329
17.2.2 为主题添加CSS样式 331
17.3 应用主题 332
17.3.1 指定和禁用主题 332
17.3.2 动态加载主题 335
第18章 站点导航和导航控件 337
18.1 站点地图概述 338
18.2 SiteMapPath控件 339
18.2.1 功能 339
18.2.2 属性 340
18.2.3 事件 341
18.3 TreeView控件 342
18.3.1 功能 342
18.3.2 属性 342
18.3.3 事件 344
18.4 Menu控件 346
18.4.1 功能 346
18.4.2 属性 346
18.4.3 事件 349
18.5 导航控件的应用 349
18.5.1 TreeView菜单导航的应用 349
18.5.2 Menu、SiteMapPath联合制作站点导航 355
第19章 ASP.NET 2.0缓存技术 357
19.1 ASP.NET 2.0缓存概述 358
19.2 页面输出缓存 358
19.3 页面部分缓存 361
19.3.1 使用@OutputCache指令 361
19.3.2 使用PartialCachingAttribute类 361
19.3.3 使用ControlCachePolicy类 363
19.3.4 实现缓存后替换 365
19.4 页面数据缓存 369
第4篇 数据库开发 375
第20章 数据库的安装与创建 375
20.1 Access数据库 376
20.1.1 安装Access数据库 376
20.1.2 创建Access数据库 381
20.1.3 创建Access数据表 383
20.2 SQL Server数据库 384
20.2.1 安装SQL Server 384
20.2.2 启动SQL Server服务管理器 389
20.2.3 创建SQL Server数据库 389
20.2.4 创建SQL Server数据表 392
20.3 数据库备份与恢复 393
20.3.1 数据库备份 393
20.3.2 数据库还原 395
20.4 附加和分离数据库 396
20.4.1 附加数据库 396
20.4.2 分离数据库 396
第21章 ADO.NET技术 399
21.1 ADO.NET概述 400
21.2 ADO.NET对象模型 400
21.2.1 Connection对象 400
21.2.2 Command对象 402
21.2.3 DataReader对象 405
21.2.4 DataSet对象 407
21.2.5 DataAdapter对象 412
21.3 数据库开发基本操作 415
21.3.1 打开数据库连接 415
21.3.2 向数据库中添加数据 415
21.3.3 修改数据库中数据 416
21.3.4 删除数据库中数据 418
21.3.5 查询数据库中数据 419
21.3.6 使用事务 420
第22章 数据绑定控件 423
22.1 DataGridView控件 424
22.1.1 DataGridView属性、方法和事件 424
22.1.2 对DataGridView数据控件进行绑定 439
22.2 GridView控件 440
22.2.1 GridView属性、方法和事件 440
22.2.2 对GridView数据控件进行绑定 451
22.2.3 GridView控件应用实例 453
22.3 DataList控件 454
22.3.1 DataList属性、方法和事件 454
22.3.2 对DataList数据控件进行绑定 460
22.3.3 DataList控件实例应用 463
22.4 Repeater控件 464
22.4.1 Repeater属性、方法和事件 465
22.4.2 对Repeater数据控件进行绑定 469
22.4.3 Repeater控件实例应用 471
第23章 高性能数据处理技术 475
23.1 存储过程概述 476
23.2 存储过程的建立、修改和删除 476
23.2.1 存储过程的建立 476
23.2.2 存储过程的修改 478
23.2.3 存储过程的删除 479
23.3 在C#中调用存储过程 480
23.4 视图的概述 482
23.5 视图的建立、修改和删除 483
23.5.1 视图的建立 483
23.5.2 视图的修改 484
23.5.3 视图的删除 485
23.6 在C#中调用视图 485
23.7 触发器的应用 488
23.8 游标的应用 490
第5篇 文件技术 495
第24章 文件处理技术 495
24.1 System.IO命名空间 496
24.1.1 File和Directory 497
24.1.2 FileInfo和DirectoryInfo 499
24.1.3 FileStream 500
24.1.4 StreamWriter 503
24.1.5 StreamReader 505
24.2 文件的基本操作 506
24.2.1 判断文件是否存在 506
24.2.2 创建文件 506
24.2.3 复制或移动文件 506
24.2.4 删除文件 507
24.2.5 获取文件基本信息 507
24.3 文件夹的基本操作 507
24.3.1 判断文件夹是否存在 507
24.3.2 创建文件夹 507
24.3.3 移动文件夹 507
24.3.4 删除文件夹 507
24.3.5 遍历文件夹中文件 508
24.4 文件写入和读取 509
24.4.1 文件的写入 509
24.4.2 文件的读取 510
第25章 帮助文件 511
25.1 WinHelp帮助文件 512
25.1.1 安装Microsoft Help Workshop 512
25.1.2 编辑RTF文件 513
25.1.3 制作帮助索引文件 517
25.1.4 制作.Hlp帮助文件 520
25.1.5 在C#中使用帮助文件 522
25.2 HTML帮助文件 522
25.2.1 HTML帮助文件概述 522
25.2.2 安装HTML Help Workshop 522
25.2.3 HTML帮助主题文件 523
25.2.4 HTML帮助项目文件 524
25.2.5 目录和目录文件 528
25.2.6 关键字和索引文件 531
25.2.7 制作.chm文件 535
25.2.8 在C#中使用.chm帮助文件 536
第6篇 图形图像与多媒体第26章 GDI+图形图像 541
26.1 GDI+概述 542
26.2 直线、曲线和图形 542
26.2.1 向量图形概述 542
26.2.2 GDI+中的直线和矩形 542
26.2.3 GDI+中的椭圆和弧 545
26.2.4 GDI+中的多边形 547
26.2.5 GDI+的基数样条 548
26.2.6 GDI+中的贝塞尔样条 550
26.2.7 GDI+中的图形路径 552
26.2.8 GDI+中的画笔 553
26.2.9 GDI+中曲线的填充 556
26.2.10 GDI+中的区域 556
26.2.11 用直线和曲线消除锯齿 558
26.3 图像、位图和图元文件 559
26.3.1 位图类型 559
26.3.2 GDI+中的元文件 560
26.3.3 在GDI+中绘制和克隆图像 560
26.3.4 在GDI+中缩放图像 563
26.4 坐标系和坐标变换 564
26.4.1 坐标系类型 564
26.4.2 变形的矩阵表示形式 564
26.4.3 全局变换和局部变换 566
26.5 GDI+绘制图表的应用 567
26.5.1 绘制柱型图分析商品月销售情况 568
26.5.2 绘制饼图分析男女比例 570
26.5.3 绘制折线图分析网站流量 571
26.5.4 绘制验证码图片 574
第27章 多媒体技术 577
27.1 多媒体概述 578
27.2 文字处理 578
27.3 音频与视频处理 579
27.3.1 Windows Media Player控件 579
27.3.2 DirectShow设计 582
27.4 动画设计 588
27.4.1 ImageAnimator类功能 588
27.4.2 ImageAnimator类方法 588
27.4.3 ImageAnimator类的应用 589
第7篇 报表与打印技术第28章 水晶报表 593
28.1 水晶报表简介 594
28.2 .NET平台下的Crystal报表 594
28.2.1 Crystal Reports.Net简介 594
28.2.2 创建Crystal报表 594
28.2.3 Crystal报表设计器的环境介绍 596
28.2.4 Crystal报表区域介绍 597
28.3 Crystal报表数据源和数据库的操作 598
28.3.1 Visual Studio 2005中Crystal Reports数据源列举 598
28.3.2 Visual Studio 2005中Crystal Reports数据库操作 598
28.3.3 水晶报表的应用 607
第29章 Windows打印对象 609
29.1 PageSetupDialog组件 610
29.1.1 PageSetupDialog组件的属性 610
29.1.2 PageSetupDialog组件的方法 611
29.1.3 PageSetupDialog组件的应用 611
29.2 PrintDialog组件 612
29.2.1 PrintDialog组件的属性 612
29.2.2 PrintDialog组件的方法 613
29.2.3 PrintDialog组件的应用 613
29.3 PrintDocument组件 614
29.3.1 PrintDocument组件的属性 614
29.3.2 PrintDocument组件的方法 614
29.3.3 PrintDocument组件的事件 615
29.4 PrintPreviewControl组件 616
29.4.1 PrintPreviewControl组件的属性 616
29.4.2 PrintPreviewControl组件的方法 618
29.5 PrintPreviewDialog组件 619
29.5.1 PrintPreviewDialog组件的属性 619
29.5.2 PrintPreviewDialog组件的方法 620
29.6 Windows打印对象的综合应用 621
第8篇 XML技术 627
第30章 XML语言基础 627
30.1 XML介绍 628
30.1.1 XML文档结构 628
30.1.2 XML语法要求 629
30.1.3 XML中的命名空间Namespaces 629
30.1.4 使用属性 630
30.1.5 XML声明 630
30.1.6 注释 630
30.1.7 字符和实体引用 630
30.2 XML的两种语法规则 631
30.2.1 文档类型定义(DTD) 631
30.2.2 Schema模式 634
30.3 XML规范中的字符集 635
30.3.1 ASCII码字符集 635
30.3.2 Unicode字符集 635
30.3.3 中文字符集 635
30.4 XML的3种显示格式 636
30.4.1 CSS样式表 636
30.4.2 XSL样式表 637
30.4.3 XML数据岛技术 638
第31章 C#操作XML 641
31.1 System.XML命名空间 642
31.2 XML架构设计 643
31.3 显示XML文件 643
31.4 添加XML节点 645
31.5 删除XML节点 645
31.6 XML应用实例 646
第9篇 高级开发篇 653
第32章 鼠标键盘处理技术 653
32.1 鼠标的基本操作 654
32.1.1 定义鼠标指针形状 654
32.1.2 定义鼠标指针为指定的图片 655
32.1.3 定义鼠标指针为指定的动画图标 655
32.2 关于鼠标事件的响应 656
32.2.1 MouseClick和Mouse DoubleClick事件 656
32.2.2 MouseDown和MouseUp事件 657
32.2.3 MouseMove事件 658
32.2.4 控制鼠标操作 659
32.3 读取和判断键盘输入 660
32.3.1 ASCII字母键码表 660
32.3.2 KeyDown与KeyUp事件 662
32.3.3 KeyPress事件 663
32.4 使用键盘热键 663
32.5 键盘消息的响应 664
32.6 拖放技术 666
32.6.1 拖放技术相关方法和事件 666
32.6.2 拖放技术的典型应用 668
第33章 Web服务和Windows服务 669
33.1 Web服务 670
33.1.1 Web服务概述 670
33.1.2 创建Web服务 671
33.1.3 测试Web服务 674
33.1.4 客户机调用Web服务 676
33.2 Windows服务 679
33.2.1 Windows服务概述 679
33.2.2 创建Windows服务 680
33.2.3 测试Windows服务 687
33.2.4 客户机调用Windows服务 688
第34章 动态链接库DLL 691
34.1 DLL概述 692
34.1.1 DLL的概念 692
34.1.2 DLL的优点 692
34.1.3 DLL依赖项 693
34.1.4 DLL故障排除工具 693
34.2 创建DLL动态链接库 694
34.3 C#调用动态链接库 695
34.4 C#调用其他编程语言编写的DLL 696
第35章 COM+组件 699
35.1 COM+组件概述 700
35.1.1 COM+的概念 700
35.1.2 MTS服务 700
35.1.3 COM+不同用途的类型 701
35.1.4 注册COM+服务组件 703
35.2 COM+组件的创建与应用 705
35.2.1 建立动态链接库 705
35.2.2 建立COM+组件强名称 708
35.2.3 注册COM+服务组件 708
35.2.4 建立客户端程序 709
35.2.5 测试COM+应用程序 711
第36章 网络通信 713
36.1 网络编程介绍 714
36.2 System.Net命名空间 714
36.2.1 DNS类 715
36.2.2 DnsPermission类 716
36.2.3 WebRequest类 718
36.2.4 WebResponse类 719
36.2.5 WebClient类 719
36.3 System.Net.Sockets命名空间 723
36.3.1 套接字 723
36.3.2 Socket类的属性、方法 723
36.4 开发网络应用程序 729
36.4.1 开发UDP聊天程序 729
36.4.2 开发TCP/IP聊天室 730
36.5 电子邮件的发送与接收 733
36.5.1 MailMessage类和SmtpClient类 733
36.5.2 POP3与SMTP协议 733
36.5.3 电子邮件的发送 734
36.5.4 电子邮件的接收 735
第37章 注册表 741
37.1 注册表基础知识 742
37.1.1 注册表概述 742
37.1.2 注册表的结构 742
37.2 读写注册表 745
37.2.1 读取注册表信息 745
37.2.2 向注册表写入信息 747
37.3 注册表的典型应用 749
37.3.1 操作注册表 749
37.3.2 将应用软件的使用次数写入注册表 752
37.3.3 保护注册表 753
37.3.4 通过注册表优化系统 754
第38章 线程 757
38.1 线程的简介 758
38.1.1 单线程简介 758
38.1.2 多线程简介 758
38.2 线程的操作 759
38.2.1 线程的创建 759
38.2.2 线程的暂停与恢复 761
38.2.3 删除线程 762
38.2.4 线程的优先权 762
38.2.5 线程的休眠 764
38.2.6 线程同步 764
38.3 线程应用实例 766
第39章 .NET Remoting分布式开发 771
39.1 Remoting 772
39.1.1 .NET Remoting内涵 772
39.1.2 .NET Remoting概述 772
39.1.3 .NET Remoting的3大组成部分 772
39.2 Remoting的体系结构 774
39.2.1 远程类对象 774
39.2.2 信道 774
39.2.3 格式标识符 776
39.2.4 RemotingConfiguration类 776
39.2.5 消息接收器的功能 777
39.2.6 如何传送自定义类对象 777
39.2.7 .NET Remoting租约机制管理有状态的对象的生存期 778
39.2.8 远程处理中的安全性 780
39.2.9 远程对象的注册和激活 780
39.3 简单Remoting的构建与配置 781
39.3.1 构建远程类对象 782
39.3.2 构建服务器端 783
39.3.3 构建客户端 783
39.3.4 配置文件 784
39.3.5 简单Remoting运行测试 785
39.4 构建远程主机 785
39.4.1 在Windows中驻留远程对象 785
39.4.2 在ASP.NET中驻留远程对象 786
39.5 Remoting分布式开发实例 786
39.5.1 远程类对象 787
39.5.2 服务器端 787
39.5.3 客户端 788
第10篇 安装与部署 795
第40章 Windows应用程序部署与安装 795
40.1 Windows Installer简介 796
40.2 Windows应用程序部署 797
40.2.1 Windows应用程序部署 797
40.2.2 安装及卸载Windows程序 804
第41章 网站发布、打包与安装 807
41.1 网站发布、打包与安装简介 808
41.1.1 “发布网站”中的预编译过程 808
41.1.2 “发布网站”的优点 808
41.2 网站发布、打包与安装 809
41.2.1 网站发布 809
41.2.2 打包与安装 812