《wcf4高级编程》
第1章设计原理与设计模式
1.1soa简介
1.2soa架构的4条原则
1.2.1边界显式定义
1.2.2服务自动化
1.2.3服务共享的是模式和契约,而不是类
1.2.4基于策略的服务兼容性
1.3服务的内部结构
1.4组织业务流程中的服务
1.5soa的底层技术
1.5.1soap
1.5.2ws-*protocols
1.5.3wsdl
1.6契约优先原则
1.7wcf和.net服务如何实现soa模式
1.7.1模式
1.7.2解耦契约:接口与实现
1.7.3代理模式
1.7.4operationcontext模式
.1.7.5并发契约
1.7.6数据保密性
1.7.7web服务原子事务
1.7.8会话外观
1.7.9异常保护
1.8通信与集成模式
1.8.1集成模式
1.8.2消息交换模式
1.8.3消息模式
1.9业务流程模式
1.9.1流程管理器
1.9.2在工作流声明中的模式
第2章服务契约与数据契约
2.1服务契约
2.2数据契约
2.3消息契约
2.4契约与代码
2.5汽车租赁服务--实现示例
2.5.1步骤1:定义服务契约
2.5.2步骤2:提取服务元数据
2.3.3步骤3:服务的实现
2.5.4步骤4:生成客户端代码
2.5.5[servicecontract]和[operationcontract]特性
2.6数据契约
2.6.1数据契约详解
2.6.2knowntypes特性
2.7服务契约与数据契约的版本控制
2.7.1数据契约的版本控制
2.7.2双向版本控制
2.7.3服务契约版本控制的最佳实践
2.7.4数据契约版本控制的最佳实践
2.8消息契约
第3章绑定
3.1绑定的工作原理
3.2地址
3.3行为
3.3.1服务行为
3.3.2操作行为
3.3.3终结点行为
3.3.4契约行为
3.4绑定
3.4.1basichttpbinding和wshttpbinding
3.4.2nettcpbinding
3.4.3netmsmqbinding
3.4.4基于上下文的绑定
3.4.5如何选择要使用的绑定
3.5配置绑定
3.5.1基址
3.5.2默认配置
3.5.3设置多绑定
3.6修改绑定
3.6.1绑定的属性
3.6.2创建自定义绑定
3.6.3重用自定义绑定
3.7持久双工服务
3.8pollingduplexhttpbinding绑定:http轮询
第4章客户端
4.1basicprofile1.1标准
4.2.net客户端
4.2.1共享wsdl-契约
4.2.2共享wsdl契约和数据契约-dll
4.2.3共享接口和数据契约-dll
4.3rest
4.3.1rest与wcf
4.3.2使用rest客户端
4.3.3使用reststarterkit工具
4.4ajax与wcf的关系
4.5wcf4与silverlight
第5章实例化
5.1实例上下文模式
5.1.1perlcall模式
5.1.2single模式
5.1.3persession模式
5.2服务的生命周期
5.3性能
5.3.1限流
5.3.2最佳做法
5.3.3负载均衡
第6章工作流服务
6.1剖析工作流服务
6.2声明式服务
6.3接收与发送活动
6.3.1接收活动
6.3.2发送活动
6.3.3sendandreceivereply和receiveandsendreply活动
6.4实现工作流服务的第一个示例
6.5配置工作流服务
6.6实现消息的关联
6.7托管工作流服务
第7章理解wcf安全
7.1web服务安全的历史演变
7.2web服务安全的基本原则
7.2.1验证
7.2.2授权
7.2.3消息的完整性
7.2.4消息的机密性
7.3传输安全与消息安全
7.3.1传输安全
7.3.2消息安全
7.4wcf安全概述
第8章wcf安全实战
8.1验证的起步
8.2基于声明的身份验证模型
8.3验证实战
8.3.1建立在消息安全之上的用户验证
8.3.2建立在传输安全之上的用户名验证
8.3.3利用消息安全实现x509证书的相互验证
8.3.4建立在消息安全之上的kerberos验证
8.4声明转换与安全上下文的初始化
8.5服务授权
8.5.1基于角色的授权
8.5.2基于声明的验证和验证上下文
8.5.3授权管理器
第9章wcf联合验证
9.1联合验证
9.1.1sts服务简介
9.1.2多域之间的联合验证
9.1.3saml语言
9.2wif架构
第10章windowsazureplatformappfabric
10.1服务总线和访问控制简介
10.2使用服务总线
10.3中继服务
10.4wcf中继绑定
10.4.1netonewayrelaybinding绑定
10.4.2neteventrelaybinding绑定
10.4.3nettcprealybinding绑定
10.4.4http中继绑定
10.5使用访问控制服务(acs)
10.5.1服务名称空间
10.5.2作用域
10.5.3发送者
10.5.4规则
10.5.5把第一个服务集成到访问控制中
第11章创建一个soa案例
11.1需求分析
11.2建立解决方案
11.3创建接口
11.3.1创建carmanagement接口
11.3.2创建customer接口
11.3.3创建rental接口
11.3.4创建external接口
11.4创建服务
11.5创建宿主程序
11.6创建数据库
11.7实现服务
11.7.1为customerservice和rentalservice服务创建数据库访问
11.7.2创建carmanagement服务
11.8公开元数据
11.9创建carmanagement客户端
11.10创建rentalapplication应用程序
11.11添加错误处理功能
11.12模拟客户端
11.13扩展carmanagement接口以接受汽车子类
11.14实现externalinterface-facade
11.14.1调用externalinterface-facade
11.14.2给参与事务的方法设置事务支持
11.14.3为servicehost配置额外的终结点
第12章创建通信和集成案例
12.1需求分析
12.2建立解决方案
12.3创建hqorderentryservice-interface接口项目
12.4创建helperlib类库
12.5创建hqorderentry-implementation项目
12.6创建hqorderentryservicehost项目
12.7创建orderentryapplication项目
12.8创建localorderentryinterface接口项目
12.9继续hqorderentry-implementation项目
12.10创建hqproductserviceasmx项目
12.10.1创建web服务
12.10.2把hqproductservice-asmx作为服务引用添加到orderentryservice-implementation项目中
12.10.3为checkiforderisvalid方法编写代码
12.10.4为translateproduct-description方法编写
12.10.5为convertorderentry-schema方法编写代码
12.11创建hqlocalizationservice服务
12.12为routeorderentry方法编写代码
12.13创建realtimeordertracking-application应用程序
12.13.1为realtimeorder-trackingapplication方法编写代码
12.13.2添加isubscribetoorder-trackinginfo接口
12.13.3实现subscribeservice方法
12.13.4在订单处理时调用订阅服务
12.13.5打开subscribeservice服务
12.13.6订阅来自realtimeorder-trackingapplication的事件
12.13.7配置hqorderentry-servicehost宿主
12.14创建路由
12.15配置hqorderentry-servicehost宿主
第13章创建业务流程
13.1需求分析
13.2建立解决方案
13.3创建数据契约
13.4创建calculatereferenceid-service服务
13.5创建receiveapprovedholiday-requestsservice项目
13.6给holidayrequestactivity-library项目添加服务引用
13.6.1添加calculatereferenceid-service项目
13.6.2添加对receiveapproved-holidayrequestsservice服务的引用
13.6.3开发holidayrequestprocess项目
13.6.4添加工作流
13.6.5创建变量
13.6.6配置receive活动
13.6.7配置send活动
13.6.8配置approverequest操作的receiveandsendreply活动
13.7开发holidayrequest-processhost项目
13.8测试这个服务宿主能否正确公开元数据
13.9开发managersholiday-requestapprovalapplication项目
13.10创建sqlworkflowinstance-store项目
第14章托管服务
14.1自托管
14.1.1servicehost和servicehost-base
14.1.2实现一个自定义的servicehost
14.2iis托管
14.2.1servicehostfactory与servicehostfactorybase
14.2.2使用customservice-hostfactory类
14.2.3不通过svc文件承载服务
14.2.4windows激活服务
14.3用windowsappfabric管理和跟踪终结点
14.3.1建立windowsserverappfabric
14.3.2使用appfabric监视服务
14.3.3启动事件查看器
14.4路由服务
14.4.1基于内容的路由
14.4.2协议和安全桥接
14.4.3错误处理
14.5云托管
14.5.1在windowsazure中托管wcf服务
14.5.2windowsazureplatformappfabric服务总线
14.5.3通过云中继服务