第1章 IIS 7和ASP.NET集成体系结构 1
1.1 IIS 7的模块化体系结构 1
1.1.1 IIS-WebServer 2
1.1.2 IIS-WebServerManagementTools 4
1.1.3 IIS-FTPPublishingService 6
1.1.4 WAS-WindowsActivationService 6
1.2 IIS 7的扩充体系结构 6
1.3 IIS 7和ASP.NET集成请求处理流水线 7
1.4 IIS 7和ASP.NET集成配置系统 8
1.5 IIS 7和ASP.NET的集成管理 9
1.6 构建一个定制的Web服务器 9
1.6.1 软件模块之间的相关性 10
1.6.2 Windows Features对话框 11
1.6.3 Server Manager 12
1.6.4 命令行安装选项 17
1.6.5 无人值守安装选项 18
1.6.6 升级 18
1.7 小结 18
第2章 集成配置系统的使用 19
2.1 集成配置系统 19
2.1.1 层次配置方案 20
2.1.2 分布式配置系统 22
2.1.3 标记 23
2.1.4 包含文件 26
2.1.5 28
2.2 协议侦听器 29
2.3 Windows进程活动服务 30
2.4 WWW服务 30
2.5 applicationHost.config文件的结构 31
2.5.1 31
2.5.2 39
2.6 小结 56
第3章 利用IIS Manager和命令行管理集成配置系统 57
3.1 Server Management 57
3.2 IIS Manager 57
3.2.1 Application Pools 59
3.2.2 Web站点 61
3.2.3 层次化配置 63
3.2.4 委托 68
3.3 命令行工具 72
3.3.1 LIST 74
3.3.2 ADD 75
3.3.3 DELETE 75
3.3.4 SET 75
3.4 小结 75
第4章 用托管代码管理集成配置系统 77
4.1 类图 77
4.2 ConfigurationElement类 79
4.3 ConfigurationElementCollectionBase类 80
4.4 ApplicationPool类 82
4.4.1 ApplicationPoolProcess-Model类 83
4.4.2 ApplicationPoolRecycling类 84
4.4.3 ApplicationPoolCpu类 87
4.5 ApplicationPoolCollection类 88
4.6 Site类 89
4.6.1 Binding类 90
4.6.2 BindingCollection类 91
4.7 Application类 91
4.8 ApplicationCollection类 92
4.9 VirtualDirectory类 93
4.10 VirtualDirectoryCollection类 94
4.11 ConfigurationSection类 95
4.12 ServerManager类 95
4.13 综合范例 96
4.13.1 加载指定配置文件 97
4.13.2 访问指定配置节的指定属性 97
4.13.3 从指定配置节的集合元素添加和删除一个元素 99
4.13.4 访问节组的配置节 101
4.14 小结 107
第5章 集成配置系统和命令管理API的扩充 109
5.1 IIS 7和ASP.NET集成配置扩充模型 109
5.1.1 IIS 7和ASP.NET集成声明模式扩展标记语言 110
5.1.2 添加一个定制的配置节 117
5.2 IIS 7和ASP.NET集成命令管理扩充模型 128
5.2.1 表示集合项的类 129
5.2.2 表示集合元素的类 130
5.2.3 表示非集合元素的类 132
5.2.4 表示最外层元素的类 133
5.3 综合范例 135
5.4 小结 137
第6章 了解集成图形管理系统 139
6.1 模态页面 139
6.1.1 模态对话框页面 140
6.1.2 模态列表页面 140
6.1.3 模态属性页面 141
6.1.4 编写一个定制的模态页面 142
6.2 任务 142
6.2.1 页面导航 142
6.2.2 任务窗体 143
6.2.3 向导窗体 144
6.3 IIS 7 Manager对象模型 145
6.3.1 服务 145
6.3.2 ManagementConfigurationPath类 148
6.3.3 Connection类 148
6.3.4 导航项 149
6.3.5 导航服务 150
6.3.6 TaskItem类 151
6.3.7 TaskList类 156
6.3.8 ModulePageInfo类 158
6.3.9 TaskListCollection类 159
6.4 综合应用 160
6.5 小结 167
第7章 扩充集成图形管理系统 169
7.1 客户端托管代码 169
7.2 定制模态页面和任务窗体的演示 172
7.3 代理 176
7.3.1 ModuleServiceProxy类 178
7.3.2 PropertyBag类 181
7.4 MyConfigSectionPage类 185
7.4.1 构造函数 188
7.4.2 事件处理程序 193
7.4.3 HasChanges属性 194
7.4.4 CanApplyChanges属性 195
7.4.5 OnActivated方法 195
7.4.6 GetSettings方法 196
7.4.7 OnWorkerGetSettings方法 198
7.4.8 OnWorkerGetSettingsCompleted方法 198
7.4.9 MyConfigSectionInfo类 200
7.4.10 InitializeUI方法 203
7.4.11 ApplyChanges方法 206
7.4.12 GetValues方法 207
7.4.13 CancelChanges方法 209
7.4.14 添加对新任务项的支持 209
7.4.15 刷新 214
7.5 MyCollectionPage类 222
7.5.1 InitializeListPage方法 227
7.5.2 OnActivated方法 228
7.5.3 GetCollectionItems方法 228
7.5.4 OnWorkerGetCollectionItems方法 229
7.5.5 OnWorkerGetCollectionItems Completed方法 229
7.5.6 MyCollectionItemInfo类 231
7.5.7 MyCollectionItemListViewItem 类 232
7.5.8 AddItem方法 233
7.5.9 添加新任务项 233
7.5.10 OnListViewBeforeLabelEdit 方法 241
7.5.11 OnListViewAfterLabelEdit 方法 242
7.5.12 OnListViewDoubleClick 方法 245
7.5.13 OnListViewKeyUp方法 245
7.5.14 OnListViewSelectedIndexChanged方法 246
7.5.15 分组 246
7.5.16 刷新 251
7.6 MyCollectionItemTaskForm 类 251
7.6.1 构造函数 256
7.6.2 InitializeComponent方法 257
7.6.3 OnAccept方法 259
7.6.4 OnWorkerDoWork方法 260
7.6.5 OnWorkerCompleted方法 261
7.7 Module类 261
7.7.1 Module基类 262
7.7.2 MyConfigSectionModule类 262
7.8 服务器端托管模代码 264
7.8.1 模块服务 264
7.8.2 模块提供程序 276
7.9 部署 277
7.10 小结 281
第8章 扩充集成请求处理流水线 283
8.1 通过托管代码扩充集成流水线 283
8.2 托管处理程序 284
8.2.1 开发定制的托管处理程序 285
8.2.2 把定制的托管处理程序插入集成请求处理流水线 296
8.2.3 使用HTTP处理程序RssHandler 308
8.3 托管模块 308
8.3.1 开发定制的托管模块 311
8.3.2 把定制的托管模块插入集成
请求处理流水线 315
8.3.3 使用HTTP模块UrlRewriterModule 325
8.4 托管处理程序类工厂 326
8.4.1 开发定制的托管处理程序类工厂 327
8.4.2 把定制的托管处理程序类工厂插入集成请求处理流水线 328
8.5 用可配置托管组件扩充集成流水线 329
8.6 对URL改写托管模块的配置支持 330
8.7 对URL改写托管模块的强类型管理支持 332
8.7.1 UrlRewriterRule类 333
8.7.2 UrlRewriterRules类 334
8.7.3 UrlRewriterSection类 336
8.7.4 托管类的测试 337
8.8 对URL改写托管模块的图形化管理支持 338
8.9 客户端托管代码 338
8.9.1 与后端服务器通信 341
8.9.2 UrlRewriterPage类 344
8.9.3 UrlRewriterRuleTaskForm类 365
8.9.4 UrlRewriterModule类 374
8.10 服务器端托管代码 375
8.10.1 UrlRewriterModuleService类 376
8.10.2 UrlRewriterModuleProvider 类 381
8.11 注册UrlRewriterModule Provider 383
8.12 可配置的UrlRewriter Module 384
8.13 改写非ASP.NET的URL 387
8.14 有关URL改写的回送问题 387
8.15 小结 390
第9章 了解集成提供程序模型 391
9.1 为什么需要提供程序服务 391
9.2 集成提供程序模型演示 394
9.3 集成提供程序模型 399
9.3.1 ProviderFeature类 399
9.3.2 ProviderConfigurationSettings类 405
9.3.3 综合范例 408
9.3.4 IproviderConfigurationService接口 428
9.4 小结 436
第10章 扩充集成提供程序模型 437
10.1 扩充步骤 437
10.2 定制的提供程序基类 439
10.3 定制的提供程序集合 440
10.4 扩充集成配置系统 441
10.5 扩充集成命令管理系统 445
10.5.1 ProviderSettings类 445
10.5.2 ProviderSettingsCollection类 446
10.5.3 ProvidersHelper类 448
10.5.4 RssSection类 451
10.6 服务类的实现 453
10.7 定制提供程序的实现 458
10.7.1 SqlRssProvider 458
10.7.2 XmlRssProvider 469
10.8 扩充集成图形管理系统 476
10.8.1 客户端托管代码 484
10.8.2 服务器端托管代码 517
10.9 小结 528
第11章 集成跟踪与诊断 529
11.1 集成跟踪组件 529
11.2 在托管代码中完成的任务 531
11.2.1 实例化一个跟踪源 531
11.2.2 添加跟踪事件 536
11.2.3 定义条件编译标志“TRACE” 541
11.3 在配置文件中完成的任务 541
11.3.1 创建和关联一个开关 541
11.3.2 创建和关联一个
IIsTraceListener 548
11.3.3 创建和关联一个跟踪
过滤器 553
11.4 综合应用 561
11.5 可配置的跟踪 569
11.6 运行时状态和控制API 579
11.6.1 ServerManager类 581
11.6.2 WorkerProcessCollection类 581
11.6.3 WorkerProcess类 582
11.6.4 RequestCollection类 583
11.6.5 Request类 584
11.6.6 ApplicationDomain类 585
11.6.7 ApplicationDomainCollection集合类 586
11.6.8 ApplicationPool类 586
11.6.9 Site类 587
11.6.10 综合范例 588
11.7 LogRequest事件 591
11.8 小结 595
第12章 ASP.NET和WCF在IIS 7中的集成 597
12.1 安装所需软件 597
12.2 Bug Report Manager 597
12.3 WCF Service 599
12.4 WCF 端点 599
12.5 WCF服务模型 600
12.6 开发一个WCF服务 601
12.7 开发一个WCF服务契约 602
12.8 实现一个WCF服务契约 605
12.9 驻留一个WCF服务 607
12.10 管理任务 609
12.11 开发一个WCF客户程序 615
12.11.1 添加一个Web引用 615
12.11.2 使用svcutil.exe工具 617
12.11.3 编程方案 621
12.12 利用ASP.NET和WCF在IIS 7中的集成特点 625
12.13 使用不同的绑定 628
12.14 综合样例 635
12.15 小结 637