第1章 Windows 服务简介 1
1.1 服务的简史 1
1.1.1 UNIX 连接 1
1.1.2 调度程序和任务管理器 2
1.1.3 NT 服务 3
1.2 MyFirstService 3
1.2.1 使用设计器或独立编写代码 5
1.2.2 添加一些功能 7
1.2.3 为服务创建一个安装程序 8
1.2.4 查找服务 10
1.2.6 用户经验 12
1.2.5 调试服务 12
1.3 System.ServiceProcess 命名空间 13
1.4 美好前景 15
1.5 小结 16
第2章 Windows 服务设计 18
2.1 服务的类型 18
2.1.1 设计模式 19
2.1.2 Windows 类型 21
2.1.3 NET 的类型 22
2.1.4 服务的交互作用的方式 23
2.2 服务的功能 23
2.2.1 系统管理 23
2.2.3 为客户和设备提供服务 24
2.2.4 安全性 24
2.2.2 应用程序与服务器间的自定义集成 24
2.3 用户需要了解的内容 25
2.3.1 选择的使用模式 25
2.3.2 针对安全性的考虑因素 25
2.3.3 控制已处理的请求的方式 26
2.3.4 管理的详细信息 27
2.3.5 服务是否应该保留日志 27
2.4 不需要编写服务的情况 27
2.5 图 28
2.5.1 描述 Windows 服务的方式 28
2.5.2 UML 和服务 29
2.6 小结 30
3.1 ServiceBase 类 31
第3章 编写 Windows 服务代码 31
3.2 创建一个 Windows 服务项目 34
3.2.1 服务的属性 34
3.2.2 OnStartO 和 OnStopO 方法 36
3.2.3 服务的回复 36
3.2.4 添加功能 40
3.2.5 创建一项服务的安装程序 44
3.2.6 卸载/安装服务 49
3.3 测试服务 50
3.4 调试服务 51
3.4.1 进程附件 52
3.4.2 Failsafe 53
3.5 小结 54
4.1 控制服务的机制 55
第4章 配置和控制 Windows 服务 55
4.2 通过 SCM 进行基本控制 56
4.2.1 服务恢复 56
4.2.2 服务依赖性 57
4.2.3 SCM 接口 58
4.2.4 以编程方式控制一项服务 59
4.3 配置服务 66
4.4 建立有命令接口的服务 68
4.5 建立一个 GUI 控制器 72
4.5.1 使用系统托盘 72
4.5.2 开发一个 MMC 管理单元 73
4.6 通过 WMI 进行控制 80
4.7 小结 86
第5章 面向网络的服务 87
5.1 与远程服务通信 87
5.2 事件日志监控器 90
5.2.1 TCP/IP 侦听和广播 90
5.2.2 远程 Windows 服务 95
5.2.3 安装 101
5.2.4 测试 104
5.3 消息队列服务 107
5.3.1 MSMQ 的效用 108
5.3.2 MSMQ 请求 108
5.3.3 消息队列处理器 112
5.3.4 Windows 服务 115
5.3.5 测试 MSMQ 118
5.3.6 调试 120
5.4 小结 121
第6章 可伸缩性和性能问题 122
6.1 使用线程 122
6.1.1 控制线程优先级 124
6.1.2 使用线程池 126
6.1.3 调试多线程应用程序 132
6.1.4 使用工具 TaskInfo 2002 135
6.2 共享进程 136
6.3 内存管理 142
6.3.1 NET Framework 类型 142
6.3.2 无用单元收集进程 142
6.3.3 终止化 143
6.4 小结 144
第7章 部署 Windows 服务 145
7.1 操作系统的问题 145
7.1.1 适应操作系统 145
7.1.2 支持的特性 147
7.2 安装和卸载 147
7.2.1 使用 InstallUtil 工具 147
7.2.2 使用部署项目 148
07.3 Windows 服务数据库 156
7.3.1 探究 Windows 服务数据库 156
7.3.2 以编程方式访问 158
7.4 小结 159