You are previewing Microsoft® Windows® Communication Foundation Step by Step.
O'Reilly logo
Microsoft® Windows® Communication Foundation Step by Step

Book Description

Teach yourself the essentials of Windows Communication Foundation—one step at a time. With this practical tutorial, you get hands-on guidance for creating the Web services you need to implement robust business applications for Windows.

Table of Contents

  1. Microsoft® Windows® Communication Foundation Step by Step
    1. SPECIAL OFFER: Upgrade this ebook with O’Reilly
    2. A Note Regarding Supplemental Files
    3. Acknowledgments
    4. Introduction
      1. Who This Book Is For
      2. Finding Your Best Starting Point in This Book
      3. Conventions and Features in This Book
        1. Conventions
      4. System Requirements
      5. Code Samples
        1. Installing the Code Samples
        2. Installing and Configuring the Microsoft .NET Framework 3.0 (Windows XP only)
        3. Installing the Visual Studio 2005 Extensions for .NET Framework 3.0
        4. Installing and Configuring the Microsoft Enterprise Library
        5. Installing and Configuring the AdventureWorks Database
        6. Installing the Microsoft Windows XP Service Pack 2 Support Tools (Windows XP only)
        7. Granting Access to Your Documents Folder
        8. Using the Code Samples
        9. Uninstalling the Code Samples
      6. Support for This Book
      7. Questions and Comments
    5. 1. Introducing Windows Communication Foundation
      1. What Is Windows Communication Foundation?
        1. The Early Days of Personal Computer Applications
        2. Inter-Process Communications Technologies
        3. The Web and Web Services
        4. Using XML as a Common Data Format
        5. Sending and Receiving Web Service Requests
        6. Handling Security and Privacy in a Global Environment
        7. The Purpose of Windows Communication Foundation
      2. Building a WCF Service
        1. Defining Contracts
        2. Implementing the Service
        3. Configuring, Deploying, and Testing the WCF Service
      3. Building a WCF Client
      4. Service-Oriented Architectures and Windows Communication Foundation
      5. Summary
    6. 2. Hosting a WCF Service
      1. How Does a WCF Service Work?
        1. Service Endpoints
        2. Processing a Client Request
      2. Hosting a WCF Service in a User Application
        1. Using the ServiceHost Class
        2. Building a Windows Presentation Foundation Application to Host a WCF Service
        3. Reconfiguring the Service to Use Multiple Endpoints
      3. Understanding Bindings
        1. The WCF Predefined Bindings
        2. Configuring Bindings
      4. Hosting a WCF Service in a Windows Service
      5. Summary
    7. 3. Making Applications and Services Robust
      1. CLR Exceptions and SOAP Faults
        1. Throwing and Catching a SOAP Fault
        2. Using Strongly-Typed Faults
        3. Reporting Unanticipated Exceptions
      2. Managing Exceptions in Service Host Applications
        1. ServiceHost States and Transitions
        2. Handling Faults in a Host Application
        3. Handling Unexpected Messages in a Host Application
      3. Summary
    8. 4. Protecting an Enterprise WCF Service
      1. What Is Security?
        1. Authentication and Authorization in a Windows Environment
        2. Transport and Message Level Security
          1. Transport Level Security
          2. Message Level Security
      2. Implementing Security in a Windows Domain
        1. Protecting a TCP Service at the Message Level
        2. Protecting an HTTP Service at the Transport Level
        3. Protecting an HTTP Service at the Message Level
        4. Authenticating Windows Users
        5. Authorizing Users
        6. Using Impersonation to Access Resources
      3. Summary
    9. 5. Protecting a WCF Service over the Internet
      1. Authenticating Users and Services in an Internet Environment
        1. Authenticating and Authorizing Users by Using the SQL Membership Provider and the SQL Role Provider
        2. Authenticating and Authorizing Users by Using Certificates
        3. Authenticating a Service by Using a Certificate
      2. Summary
    10. 6. Maintaining Service Contracts and Data Contracts
      1. Modifying a Service Contract
        1. Selectively Protecting Operations
        2. Versioning a Service
        3. Making Breaking and Nonbreaking Changes to a Service Contract
      2. Modifying a Data Contract
        1. Data Contract and Data Member Attributes
        2. Data Contract Compatibility
      3. Summary
    11. 7. Maintaining State and Sequencing Operations
      1. Managing State in a WCF Service
        1. Service Instance Context Modes
          1. The PerSession Instance Context Mode
          2. The PerCall Instance Context Mode
          3. The Single Instance Context Mode
        2. Maintaining State with the PerCall Instance Context Mode
        3. Selectively Controlling Service Instance Deactivation
      2. Sequencing Operations in a WCF Service
      3. Summary
    12. 8. Supporting Transactions
      1. Using Transactions in the ShoppingCartService Service
        1. Implementing OLE Transactions
        2. Implementing WS-AtomicTransaction Transactions
      2. Designing a WCF Service to Support Transactions
        1. Transactions and Service Instance Context Modes
        2. Transactions and Messaging
        3. Transactions and Multi-Threading
        4. Long-Running Transactions
      3. Summary
    13. 9. Implementing Reliable Sessions
      1. Using Reliable Sessions
        1. Implementing Reliable Sessions with WCF
      2. Detecting and Handling Replay Attacks
        1. Configuring Replay Detection with WCF
      3. Summary
    14. 10. Programmatically Controlling the Configuration and Communications
      1. The WCF Service Model
        1. Services and Channels
        2. Behaviors
        3. Composing Channels into Bindings
        4. Inspecting Messages
      2. Controlling Client Communications
        1. Connecting to a Service Programmatically
        2. Sending Messages Programmatically
      3. Summary
    15. 11. Implementing OneWay and Asynchronous Operations
      1. Implementing OneWay Operations
        1. The Effects of a OneWay Operation
        2. OneWay Operations and Timeouts
        3. Recommendations for Using OneWay Methods
      2. Invoking and Implementing Operations Asynchronously
        1. Invoking an Operation Asynchronously in a Client Application
        2. Implementing an Operation Asynchronously in a WCF Service
      3. Using Message Queues
      4. Summary
    16. 12. Implementing a WCF Service for Good Performance
      1. Using Service Throttling to Control Resource Use
        1. Configuring Service Throttling
      2. Transmitting Data by Using MTOM
        1. Sending Large Binary Data Objects to a Client Application
      3. Streaming Data from a WCF Service
        1. Enabling Streaming in a WCF Service and Client Application
        2. Designing Operations to Support Streaming
        3. Security Implications of Streaming
      4. Summary
    17. 13. Routing Messages
      1. How the WCF Service Runtime Dispatches Operations
        1. ChannelDispatcher and EndpointDispatcher Objects Revisited
        2. EndpointDispatcher Objects and Filters
      2. Routing Messages to Other Services
      3. WCF and the WS-Addressing Specification
        1. The WS-Referral Specification and Dynamic Routing
      4. Summary
    18. 14. Using a Callback Contract to Publish and Subscribe to Events
      1. Implementing and Invoking a Client Callback
        1. Defining a Callback Contract
        2. Implementing an Operation in a Callback Contract
        3. Invoking an Operation in a Callback Contract
        4. Reentrancy and Threading in a Callback Operation
        5. Implementing a Duplex Channel
      2. Using a Callback Contract to Implement Events
        1. Delivery Models for Publishing and Subscribing
          1. The Push Model
          2. The Pull Model
          3. The Broker Model
      3. Summary
    19. 15. Managing Identity with Windows CardSpace
      1. Using Windows CardSpace to Access a WCF Service
        1. Implementing Claims-Based Security
        2. Using a Third-Party Identity Provider
          1. Configuring a WCF Client Application and Service to use a Third-Party Identity Provider
        3. Claims-Based Authentication in a Federated Environment
      2. Summary
    20. 16. Integrating with ASP.NET Clients and Enterprise Services Components
      1. Creating a WCF Service that Supports an ASP.NET Client
      2. Exposing a COM+ Application as a WCF Service
      3. Summary
    21. About the Author
      1. John Sharp
    22. Additional Resources for Developers
      1. Visual Basic 2005
      2. Visual C# 2005
      3. Web Development
      4. Data Access
      5. SQL Server 2005
      6. Other Visual Studio 2005 Topics
      7. Other Developer Topics
    23. More Great Developer Resources
      1. Developer Step by Step
      2. Developer Reference
      3. Advanced Topics
    24. Index
    25. SPECIAL OFFER: Upgrade this ebook with O’Reilly