Table of contents : Table of Contents......Page 5 Introduction......Page 16 Part I: Introducing the Windows Communication Foundation......Page 22 Partial Types......Page 24 Generics......Page 25 Nullable Value Types......Page 28 The Lightweight Transaction Manager......Page 29 Role Providers......Page 31 Summary......Page 33 References......Page 34 Background......Page 36 Enter Services......Page 39 Windows Communication Foundation......Page 41 The Service Model......Page 43 Visual Studio 2008 Tool Support......Page 90 Summary......Page 97 References......Page 98 Background......Page 100 The XmlSerializer and the DataContractSerializer......Page 102 The XML Fetish......Page 106 Using the DataContractSerializer......Page 111 Exception Handling......Page 125 Durable Services......Page 129 Summary......Page 137 References......Page 138 Reliable Sessions......Page 140 Session Management......Page 144 Queued Delivery......Page 145 Transactions......Page 149 Summary......Page 158 Part II: Introducing the Windows Workflow Foundation......Page 160 What Is Windows Workflow Foundation?......Page 162 Activities......Page 164 Workflow Models......Page 187 Workflow Hosting......Page 199 Rules Engine......Page 214 References......Page 222 6 Using the Windows Communication Foundation and the Windows Workflow Foundation Together......Page 224 Consuming Services......Page 225 Orchestrating Services......Page 234 Exposing Workflows as Services......Page 235 References......Page 263 Part III: Security......Page 264 Basic Tasks in Securing Communications......Page 266 Transport Security and Message Security......Page 267 Using Transport Security......Page 268 Using Message Security......Page 278 Impersonation......Page 284 Authorization......Page 287 Reversing the Changes to Windows......Page 296 Summary......Page 298 References......Page 299 The Role of Identity......Page 300 Microsoft Passport and Other Identity Solutions......Page 303 The Laws of Identity......Page 305 The Identity Metasystem......Page 306 Information Cards and CardSpace......Page 312 Managing Information Cards......Page 314 Architecture, Protocols, and Security......Page 321 CardSpace and the Enterprise......Page 334 New Features in .NET Framework 3.5......Page 337 HTTP Support in .NET Framework 3.5......Page 339 Summary......Page 341 References......Page 342 Developing for the Identity Metasystem......Page 344 Simple Demonstration of CardSpace......Page 346 Prerequisites for the CardSpace Samples......Page 347 Adding Information Cards to a WCF Application......Page 352 Adding Information Cards......Page 357 Using a Federation Binding......Page 362 Catching Exceptions......Page 363 Processing the Issued Token......Page 365 Using the Metadata Resolver......Page 366 Adding Information Cards to Browser Applications......Page 368 Creating a Managed Card......Page 379 Building a Simple Security Token Service......Page 382 References......Page 385 Prelude......Page 386 Securing Resources with Claims......Page 387 Leveraging Claims-Based Security Using XSI......Page 392 Claims-Based Security and Federated Security......Page 427 Summary......Page 428 References......Page 429 Part IV: Integration and Interoperability......Page 430 COM+ Integration......Page 432 Using the COM+ Service Model Configuration Tool......Page 434 Exposing a COM+ Component as a Windows Communication Foundation Web Service......Page 436 Calling a Windows Communication Foundation Service from COM......Page 443 Integrating with MSMQ......Page 448 Creating a Windows Communication Foundation Service That Integrates with MSMQ......Page 449 Summary......Page 458 12 Interoperability......Page 460 References......Page 463 Part V: Extending the Windows Communication Foundation......Page 464 Extending the Windows Communication Foundation......Page 466 Extending the Service Model with Custom Behaviors......Page 467 Implementing a Custom Behavior......Page 473 Implementing Each Type of Custom Behavior......Page 482 Implementing a WSDL Export Extension......Page 494 Custom Behaviors in Action......Page 497 References......Page 498 Binding Elements......Page 500 Channels Have Shapes......Page 503 Matching Contracts to Channels......Page 505 Communication State Machines......Page 507 Building Custom Binding Elements......Page 508 Summary......Page 526 Transport Channels......Page 528 Completing the Stack......Page 529 Implementing a Transport Binding Element and an Encoder Binding Element......Page 531 Implementing Custom Binding Elements to Support an Arbitrary TCP Protocol......Page 535 Summary......Page 547 References......Page 548 Part VI: Special Cases......Page 550 16 Publish/Subscribe Systems......Page 552 Publish/Subscribe Using Callback Contracts......Page 553 Publish/Subscribe Using MSMQ Pragmatic Multicasting......Page 559 Publish/Subscribe Using Streaming......Page 567 Summary......Page 580 References......Page 581 Using Structured Data in Peer-to-Peer Applications......Page 582 Leveraging the Windows Peer-to-Peer Networking Development Platform......Page 583 Using Peer Channel......Page 584 Peer Channel in Action......Page 590 References......Page 613 Representational State Transfer......Page 614 REST Services and Plain XML......Page 615 The Virtues and Limitations of REST Services......Page 616 Building REST POX Services with the Windows Communication Foundation......Page 617 RSS and ATOM Syndication in .NET Framework 3.5......Page 624 JSON......Page 630 References......Page 635 Part VII: The Lifecycle of Windows Communication Foundation Applications......Page 636 19 Manageability......Page 638 Instrumentation and Tools......Page 639 Completing the Management Facilities......Page 673 Summary......Page 674 20 Versioning......Page 676 The Universe of Versioning Problems......Page 677 Centralized Lifecycle Management......Page 685 References......Page 688 Part VIII: Guidances......Page 690 Adopting the Windows Communication Foundation......Page 692 Working with Windows Communication Foundation Addresses......Page 694 Working with Windows Communication Foundation Bindings......Page 696 Working with Windows Communication Foundation Contracts......Page 699 Working with Windows Communication Foundation Services......Page 706 Working with Windows Communication Foundation Clients......Page 714 Working with Large Amounts of Data......Page 720 Debugging Windows Communication Foundation Applications......Page 722 Summary......Page 723 References......Page 724 A......Page 726 B......Page 728 C......Page 729 D......Page 733 F......Page 735 I......Page 736 M......Page 739 N......Page 740 P......Page 741 Q - R......Page 743 S......Page 744 T......Page 750 U - V......Page 751 W......Page 752 X - Y - Z......Page 755