《WCF 4高级编程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)西布拉奥,(美)克莱斯等著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302266990
  • 页数:423 页
图书介绍:本书详细介绍了WCF4堆栈的各种技术,并通过3个案例介绍了这些技术的实际应用。

第1章 设计原理与设计模式 1

1.1 SOA简介 1

1.2 SOA架构的4条原则 3

1.2.1 边界显式定义 3

1.2.2 服务自动化 3

1.2.3 服务共享的是模式和契约,而不是类 3

1.2.4 基于策略的服务兼容性 4

1.3 服务的内部结构 4

1.4 组织业务流程中的服务 7

1.5 SOA的底层技术 7

1.5.1 SOAP 8

1.5.2 WS-*Protocols 8

1.5.3 WSDL 8

1.6 契约优先原则 9

1.7 WCF和.NET服务如何实现SOA模式 10

1.7.1 模式 10

1.7.2 解耦契约:接口与实现 10

1.7.3 代理模式 11

1.7.4 OperationContext模式 11

1.7.5 并发契约 11

1.7.6 数据保密性 12

1.7.7 Web服务原子事务 12

1.7.8 会话外观 12

1.7.9 异常保护 12

1.8 通信与集成模式 13

1.8.1 集成模式 14

1.8.2 消息交换模式 16

1.8.3 消息模式 22

1.9 业务流程模式 26

1.9.1 流程管理器 26

1.9.2 在工作流声明中的模式 28

第2章 服务契约与数据契约 31

2.1 服务契约 32

2.2 数据契约 32

2.3 消息契约 32

2.4 契约与代码 32

2.5 汽车租赁服务——实现示例 33

2.5.1 步骤1:定义服务契约 33

2.5.2 步骤2:提取服务元数据 34

2.3.3 步骤3:服务的实现 38

2.5.4 步骤4:生成客户端代码 39

2.5.5 [ServiceContract]和[OperationContract]特性 40

2.6 数据契约 42

2.6.1 数据契约详解 47

2.6.2 KnownTypes特性 49

2.7 服务契约与数据契约的版本控制 52

2.7.1 数据契约的版本控制 52

2.7.2 双向版本控制 54

2.7.3 服务契约版本控制的最佳实践 56

2.7.4 数据契约版本控制的最佳实践 56

2.8 消息契约 57

第3章 绑定 63

3.1 绑定的工作原理 64

3.2 地址 66

3.3 行为 67

3.3.1 服务行为 67

3.3.2 操作行为 70

3.3.3 终结点行为 71

3.3.4 契约行为 74

3.4 绑定 75

3.4.1 basicHttpBinding和wsHttpBinding 76

3.4.2 netTcpBinding 77

3.4.3 netMsmqBinding 77

3.4.4 基于上下文的绑定 77

3.4.5 如何选择要使用的绑定 78

3.5 配置绑定 79

3.5.1 基址 80

3.5.2 默认配置 82

3.5.3 设置多绑定 85

3.6 修改绑定 86

3.6.1 绑定的属性 86

3.6.2 创建自定义绑定 88

3.6.3 重用自定义绑定 90

3.7 持久双工服务 93

3.8 PollingDuplexHttpBinding绑定:HTTP轮询 95

第4章 客户端 97

4.1 Basic Profile 1.1标准 98

4.2 .NET客户端 98

4.2.1 共享WSDL-契约 98

4.2.2 共享WSDL契约和数据契约-DLL 101

4.2.3 共享接口和数据契约-DLL 102

4.3 REST 104

4.3.1 REST与WCF 106

4.3.2 使用REST客户端 112

4.3.3 使用REST Starter Kit工具 113

4.4 AJAX与WCF的关系 114

4.5 WCF 4与Silverlight 118

第5章 实例化 121

5.1 实例上下文模式 122

5.1.1 PerlCall模式 122

5.1.2 Single模式 125

5.1.3 PerSession模式 127

5.2 服务的生命周期 131

5.3 性能 137

5.3.1 限流 137

5.3.2 最佳做法 144

5.3.3 负载均衡 144

第6章 工作流服务 147

6.1 剖析工作流服务 148

6.2 声明式服务 149

6.3 接收与发送活动 152

6.3.1 接收活动 152

6.3.2 发送活动 155

6.3.3 SendAndReceiveReply和ReceiveAndSendReply活动 157

6.4 实现工作流服务的第一个示例 157

6.5 配置工作流服务 161

6.6 实现消息的关联 164

6.7 托管工作流服务 174

第7章 理解WCF安全 177

7.1 Web服务安全的历史演变 177

7.2 Web服务安全的基本原则 178

7.2.1 验证 178

7.2.2 授权 179

7.2.3 消息的完整性 179

7.2.4 消息的机密性 179

7.3 传输安全与消息安全 180

7.3.1 传输安全 180

7.3.2 消息安全 180

7.4 WCF安全概述 182

第8章 WCF安全实战 195

8.1 验证的起步 195

8.2 基于声明的身份验证模型 196

8.3 验证实战 199

8.3.1 建立在消息安全之上的用户验证 199

8.3.2 建立在传输安全之上的用户名验证 209

8.3.3 利用消息安全实现X509证书的相互验证 213

8.3.4 建立在消息安全之上的Kerberos验证 221

8.4 声明转换与安全上下文的初始化 226

8.5 服务授权 228

8.5.1 基于角色的授权 228

8.5.2 基于声明的验证和验证上下文 232

8.5.3 授权管理器 233

第9章 WCF联合验证 237

9.1 联合验证 237

9.1.1 STS服务简介 238

9.1.2 多域之间的联合验证 238

9.1.3 SAML语言 239

9.2 WIF架构 241

第10章 Windows Azure Platform AppFabric 255

10.1 服务总线和访问控制简介 256

10.2 使用服务总线 259

10.3 中继服务 264

10.4 WCF中继绑定 265

10.4.1 netOneWayRelayBinding绑定 266

10.4.2 netEventRelayBinding绑定 268

10.4.3 netTepRealyBinding绑定 270

10.4.4 HTTP中继绑定 272

10.5 使用访问控制服务(ACS) 274

10.5.1 服务名称空间 275

10.5.2 作用域 276

10.5.3 发送者 276

10.5.4 规则 276

10.5.5 把第一个服务集成到访问控制中 277

第11章 创建一个SOA案例 285

11.1 需求分析 285

11.2 建立解决方案 286

11.3 创建接口 288

11.3.1 创建CarManagement接口 291

11.3.2 创建Customer接口 292

11.3.3 创建Rental接口 293

11.3.4 创建External接口 294

11.4 创建服务 296

11.5 创建宿主程序 298

11.6 创建数据库 306

11.7 实现服务 306

11.7.1 为CustomerService和RentalService服务创建数据库访问 307

11.7.2 创建CarManagement服务 308

11.8 公开元数据 310

11.9 创建CarManagement客户端 313

11.10 创建RentalApplication应用程序 320

11.11 添加错误处理功能 325

11.12 模拟客户端 328

11.13 扩展CarManagement接口以接受汽车子类 328

11.14 实现ExtemalInterface-Facade 330

11.14.1 调用ExternalInterface-Facade 331

11.14.2 给参与事务的方法设置事务支持 333

11.14.3 为servicehost配置额外的终结点 333

第12章 创建通信和集成案例 335

12.1 需求分析 335

12.2 建立解决方案 337

12.3 创建HQOrderEntryService-Interface接口项目 338

12.4 创建HelperLib类库 340

12.5 创建HQOrderEntry-Implementation项目 341

12.6 创建HQOrderEntryServiceHost项目 342

12.7 创建OrderEntryApplication项目 343

12.8 创建LocalOrderEntryInterface接口项目 345

12.9 继续HQOrderEntry-Implementation项目 346

12.10 创建HQProductServiceASMX项目 348

12.10.1 创建Web服务 348

12.10.2 把HQProductService-ASMX作为服务引用添加到OrderEntryService-Implementation项目中 349

12.10.3 为CheckIfOrderIsValid方法编写代码 350

12.10.4 为TranslateProduct-Description方法编写代码 351

12.10.5 为ConvertOrderEntry-Schema方法编写代码 351

12.11 创建HQLocalizationService服务 352

12.12 为RouteOrderEntry方法编写代码 354

12.13 创建RealTimeOrderTracking-Application应用程序 355

12.13.1 为RealTimeOrder-TrackingApplication方法编写代码 355

12.13.2 添加IsubscribeToOrder-TrackingInfo接口 356

12.13.3 实现SubscribeService方法 356

12.13.4 在订单处理时调用订阅服务 357

12.13.5 打开SubscribeService服务 358

12.13.6 订阅来自RealTimeOrder-TrackingApplication的事件 359

12.13.7 配置HQOrderEntry-ServiceHost宿主 359

12.14 创建路由 360

12.15 配置HQOrderEntry-ServiceHost宿主 362

第13章 创建业务流程 365

13.1 需求分析 365

13.2 建立解决方案 366

13.3 创建数据契约 367

13.4 创建CalculateReferenceID-Service服务 369

13.5 创建ReceiveApprovedHoliday-RequestsService项目 370

13.6 给HolidayRequestActivity-Library项目添加服务引用 373

13.6.1 添加CalculateReferenceID-Service项目 373

13.6.2 添加对ReceiveApproved-HolidayRequestsService服务的引用 374

13.6.3 开发HolidayRequestProcess项目 375

13.6.4 添加工作流 375

13.6.5 创建变量 376

13.6.6 配置Receive活动 378

13.6.7 配置Send活动 379

13.6.8 配置ApproveRequest操作的ReceiveAndSendReply活动 383

13.7 开发HolidayRequest-ProcessHost项目 388

13.8 测试这个服务宿主能否正确公开元数据 389

13.9 开发ManagersHoliday-RequestApprovalApplication项目 391

13.10 创建SqlWorkflowInstance-Store项目 391

第14章 托管服务 393

14.1 自托管 394

14.1.1 ServiceHost和ServiceHost-Base 394

14.1.2 实现一个自定义的ServiceHost 397

14.2 IIS托管 399

14.2.1 ServiceHostFactory与ServiceHostFactoryBase 401

14.2.2 使用CustomService-HostFactory类 401

14.2.3 不通过svc文件承载服务 402

14.2.4 Windows激活服务 403

14.3 用Windows AppFabric管理和跟踪终结点 406

14.3.1 建立Windows Server AppFabric 407

14.3.2 使用AppFabric监视服务 409

14.3.3 启动事件查看器 412

14.4 路由服务 413

14.4.1 基于内容的路由 413

14.4.2 协议和安全桥接 417

14.4.3 错误处理 418

14.5 云托管 419

14.5.1 在Windows Azure中托管WCF服务 420

14.5.2 Windows Azure Platform AppFabric服务总线 420

14.5.3 通过云中继服务 421