第1章 可伸缩性 1
1.1 可伸缩性基础 1
1.2 一致性 3
1.3 COM中的一致性 4
1.4 共享一致性 6
1.5 对一致性的回顾 9
1.6 对象/客户模型 17
1.7 事务 19
1.8 把对象与事务结合起来 24
1.9 一个复杂的问题 29
1.10 小结 37
第2章 原子 39
2.1 连接程序交换的历史 39
2.2 从控制台到描述表 42
2.3 作为对象的描述表 44
2.4 描述表来自哪里 47
2.5 描述表流 56
2.6 因果关系 57
2.7 作为对象的因果关系 59
2.8 小结 62
第3章 机制 64
3.1 描述表的相关性 64
3.2 描述表的耗费 73
3.3 有限制的描述表 78
3.4 其他 86
3.5 小结 88
第4章 线程 89
4.1 套间 89
4.2 跨套间调用 97
4.3 套间规则 100
4.4 活动集(Activity) 104
4.5 分配STA对象到套间 108
4.6 串行化调用(Serializing Call) 110
4.7 活动集规则 115
4.8 小结 116
第5章 对象 117
5.1 对象池管理 117
5.2 实现池内类 123
5.3 对象池管理准则 128
5.4 即时激活 129
5.5 JITA规则 135
5.6 谎言、该死的谎言,还有统计 139
5.7 小结 140
第6章 事务 141
6.1 本地事务(Local Transaction) 142
6.2 分布式事务(Distributed Transaction) 146
6.3 分布式事务的复杂性 153
6.4 说明性事务(Declarative Transaction) 159
6.5 事务规则 176
6.6 小结 177
第7章 隔离性(Isolation) 178
7.1 正确和性能相对 179
7.2 指定隔离等级 189
7.3 死锁 195
7.4 应用程序等级的隔离 199
7.5 小结 204
第8章 协议 205
8.1 HTTP 205
8.2 IIS 209
8.3 ASP 219
8.4 HTTP+XML=RPC 234
8.5 消息序列 242
8.6 小结 249
第9章 设计 251
9.1 机器、进程和协议 251
9.2 处理器和助手 255
9.3 事务和数据访问 261
9.4 中间层状态 263
9.5 最后的建议 266
附录A 关于.NET 267
附录B 建立一个理想的连接池 270
例子 271
附录C 调试 279
附录D 目录管理器属性和组件服务浏览器属性页 281
D.1 应用程序属性页 281
D.2 类属性页 284
D.3 接口属性页 287
D.4 方法属性页 289