第1章:面向组件编程简介 1
基本术语 2
面向组件和面向对象编程的比较 3
面向组件编程的原则 6
.NET对于组件原则的遵循 11
.NET组件开发 13
第2章:.NET面向组件的编程要素 15
语言独立性:公共语言运行时 15
打包和部署:程序集 21
二进制兼容性 42
第3章:基于接口编程 46
接口和实现分离 46
使用接口 52
接口和泛型 64
设计和分解接口 73
Visual Studio 2005中的接口 77
第4章:生命周期管理 82
托管堆 82
传统内存释放模式 83
.NET垃圾回收 84
对象终结 86
确定性终结 90
第5章:版本控制 102
程序集版本号 102
程序集部署模型 105
程序集强名称 107
Visual Studio 2005和版本划分 117
自定义版本策略 119
CLR版本划分 125
第6章:事件 129
基于委托的事件 130
使用.NET事件 136
第7章:异步调用 155
异步机制的必备条件 156
委托的老调重弹 157
异步调用编程模型 159
异步错误处理 172
异步事件 173
异步调用缺陷 178
同步和异步处理 182
第8章:多线程和并发管理 184
线程和多线程 184
组件和线程 185
使用线程 186
同步线程 201
自动同步 202
手动同步 212
WorkerThread包装类 243
同步委托 249
使用.NET多线程服务 252
第9章:序列化和持久化 280
自动序列化 281
序列化格式器 285
序列化事件 291
序列化和流 301
自定义序列化 304
序列化和类层次结构 311
第10章:远程处理 319
应用程序域 320
远程对象类型 330
引用封送激活模式 334
.NET Remoting架构 342
构建分布式应用程序 348
租赁和赞助 382
.NET与位置透明 397
第11章:上下文与拦截 399
.NET组件服务 399
.NET上下文 402
自定义组件服务 410
第12章:安全 434
.NET安全架构 435
配置权限 449
编程式安全 472
Visual Studio 2005与安全 494
基于主体的安全 498
其他安全问题 505
附录A:基于接口的Web服务 511
附录B:统一Windows Forms和ASP.NET安全 520
附录C:反射和属性 544
附录D:泛型 557
附录E:C#编码标准 572
索引