第1章 引言 1
1.1 庞大的因特网 1
1.2 标准提升:常见的基础设施问题 2
1.3 做最好的计划 3
1.4 .NET究竟是什么 4
1.5 关于本书 6
1.6 歌唱硅片 7
第2章 .NET对象 9
2.1 问题的背景 9
2.2 解决方案的体系结构 12
2.3 最简单的例子 15
2.4 有关.NET命名空间的更多内容 19
2.5 程序集 21
2.5.1 程序集的概念 21
2.5.2 程序集与部署 23
2.5.3 程序集与版本策略 26
2.6 面向对象编程的特点 30
2.6.1 继承 31
2.6.2 对象构造函数 35
2.7 .NET内存管理 36
2.8 与COM互操作 42
2.8.1 在.NET中使用COM对象 42
2.8.2 在COM中使用.NET对象 45
2.9 .NET中的事务 47
2.10 结构化异常处理 50
2.11 代码访问安全性 54
第3章 ASP.NET 61
3.1 问题背景 61
3.2 解决方案体系结构 63
3.3 最简单的例子:编写一个简单的ASP.NET页面 65
3.4 关于Web控件的更多知识 69
3.5 管理并配置Web应用程序:Web.config文件 74
3.6 ASP.NET状态管理 77
3.7 ASP.NET的安全性 82
3.7.1 身份验证 82
3.7.2 Windows身份验证 84
3.7.3 基于窗体或基于cookie的身份验证 84
3.7.4 Passport身份验证 87
3.7.5 授权 90
3.7.6 身份 96
3.8 进程管理 98
第4章 .NET Web服务 101
4.1 问题背景 101
4.2 解决方案的体系结构 103
4.3 最简单的例子:编写XML Web服务 105
4.4 XML Web服务的自我描述——WSDL文件 109
4.5 编写XML Web服务客户端程序 112
4.6 Visual Studio .NET中XML Web服务支持 116
4.7 XML Web服务设计问题 118
4.7.1 数据量大 118
4.7.2 仔细考虑其状态 119
4.7.3 处理异常 121
4.7.4 替换命名空间URI 122
4.7.5 XML Web服务安全 123
第5章 Windows窗体 127
5.1 问题背景 127
5.2 解决方案的体系结构 128
5.3 最简单的例子 129
5.4 更复杂的例子:事件和控件 132
5.5 在Windows窗体中容纳ActiveX控件 135
5.6 窗体改进 138
5.6.1 绘画 138
5.6.2 鼠标处理 140
5.6.3 菜单处理 141
5.6.4 键盘处理 142
5.6.5 对话框 143
第6章 .NET数据访问 145
6.1 问题背景 145
6.2 解决方案的体系结构 146
6.3 最简单的例子 149
6.4 一个较为复杂的例子:无连接操作 153
6.5 Visual Studio支持和类型化DataSet对象 160
第7章 处理XML 167
7.1 问题背景 167
7.2 解决方案的体系结构 168
7.3 最简单的例子:基本串行化 169
7.4 一个比较复杂的例子:串行化控制 173
7.5 XML模式和串行化 176
7.6 通用分析 179
第8章 事件和代理 183
8.1 问题背景 183
8.2 解决方案的体系结构 184
8.3 最简单的例子 185
8.4 一个更为复杂的例子 191
8.5 代理 195
第9章 线程 201
9.1 问题背景 201
9.2 解决方案的体系结构 202
9.3 最简单的线程例子:使用进程的线程池 205
9.4 一个较为复杂的例子:线程安全 209
9.5 一个仍然比较复杂的例子:管理我们自己的线程 216
第10章 Windows窗体控件 221
10.1 问题背景 221
10.2 解决方案的体系结构 222
10.3 最简单的控件例程 223
10.4 一个较为复杂的例子:扩展一个已存在的控件 229
10.5 UserControl举例:包含其他控件 232
第11章 Web窗体控件 237
11.1 问题背景 237
11.2 解决方案的体系结构 237
11.3 最简单的Web窗体控件例程 240
11.4 更为复杂的Web窗体例程 244
11.5 视图状态管理 250
11.6 客户端脚本程序 251
后记和祝福 257