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

Book Description

Your hands-on, step-by-step guide to building connected, service-oriented applications.

Teach yourself the essentials of Windows Communication Foundation (WCF) 4 -- one step at a time. With this practical, learn-by-doing tutorial, you get the clear guidance and hands-on examples you need to begin creating Web services for robust Windows-based business applications.

Discover how to:

  • Build and host SOAP and REST services

  • Maintain service contracts and data contracts

  • Control configuration and communications programmatically

  • Implement message encryption, authentication, and authorization

  • Manage identity with Windows CardSpace

  • Begin working with Windows Workflow Foundation to create scalable and durable business services

  • Implement service discovery and message routing

  • Optimize performance with service throttling, encoding, and streaming

  • Integrate WCF services with ASP.NET clients and enterprise services components

  • Your Step by Step digital content includes:

  • Practice exercises

  • Downloadable code samples

  • Fully searchable online edition of the book -- with unlimited access on the Web

  • Table of Contents

    1. Windows® Communication Foundation 4 Step by Step
    2. A Note Regarding Supplemental Files
    3. Acknowledgments
    4. Introduction
      1. Who This Book Is For
        1. Assumptions
      2. Finding Your Best Starting Point in This Book
      3. Conventions and Features in This Book
      4. System Requirements
      5. Code Samples
        1. Installing and Configuring Internet Information Services and Microsoft Message Queue
        2. Installing ASP.NET Version 4.0
        3. Installing and Configuring the AdventureWorks Database
        4. Using the Code Samples
        5. Uninstalling the Code Samples
      6. Your Companion eBook
      7. Errata and Book Support
      8. We Want to Hear from You
      9. Stay in Touch
    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. JavaScript Object Notation and Rich Internet Applications
        7. Handling Security and Privacy in a Global Environment
        8. Service-Oriented Architectures and Windows Communication Foundation
      2. Building a WCF Service
        1. Build the Entity Model for the WCF Service
          1. Build the Entity Model for the WCF Service
            1. Build the Entity Model for the WCF Service
            2. Create the ProductsService WCF Service
        2. Defining the Contracts
          1. Define the Data Contract for the WCF Service
            1. Define the Data Contract for the WCF Service
            2. Define the service contract for the WCF service
        3. Implementing the Service
          1. Implement the WCF Service
            1. Implement the WCF Service
        4. Configuring and Testing the Service
          1. Configure the WCF Service
            1. Configure the WCF Service
            2. Test the WCF Service by Using Internet Explorer
      3. Building a WCF Client Application
        1. Build the Console Client Application
          1. Build the Console Client Application
            1. Build the Console Client Application
            2. Run the Client Application
      4. Deploying a WCF Service to Internet Information Services
        1. Deploy the WCF Service to IIS
          1. Deploy the WCF Service to IIS
            1. Deploy the WCF Service to IIS
            2. Reconfigure the Client Application and Test the Service
      5. WCF and the Principles of SOA
      6. 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 by Using Windows Process Activation Service
        1. Configure the Host Environment for the WCF Service to Support the TCP Protocol
          1. Configure the Host Environment for the WCF Service to Support the TCP Protocol
            1. Configure the Host Environment for the WCF Service to Support the TCP Protocol
            2. Configure the Client Application to Connect by Using the TCP Protocol
      3. Hosting a Service in a User Application
        1. Using the ServiceHost Class
      4. Building a Windows Presentation Foundation Application to Host a WCF Service
        1. Rebuild the ProductsService WCF Service as a WCF Service Library
          1. Rebuild the ProductsService WCF Service as a WCF Service Library
            1. Rebuild the ProductsService WCF Service as a WCF Service Library
            2. Create a Windows Application to Host the WCF Service
            3. Add Logic to Start and Stop the WCF Service
            4. Configure the Windows Host Application
            5. Test the Windows Host Application
        2. Reconfiguring the Service to Support Multiple Endpoints
          1. Add an HTTP Endpoint to the WCF service
            1. Add an HTTP Endpoint to the WCF service
            2. Reconfigure the Client Application to Connect to the HTTP Endpoint
            3. Reserve HTTP Port 8000
            4. Test the New Service Endpoint
      5. Understanding Endpoints and Bindings
        1. The WCF Predefined Bindings
        2. Configuring Bindings
        3. Default Endpoints
      6. Hosting a WCF Service in a Windows Service
        1. Create a New Windows Service to Host the WCF Service
          1. Create a New Windows Service to Host the WCF Service
            1. Create a New Windows Service to Host the WCF Service
            2. Add Logic to Start and Stop the Windows Service
            3. Create the Service Installer
            4. Install the Windows Service
            5. Test the Windows Service
      7. Summary
    7. 3. Making Applications and Services Robust
      1. CLR Exceptions and SOAP Faults
        1. Throwing and Catching a SOAP Fault
          1. Modify the WCF Service to Throw SOAP Faults
            1. Modify the WCF Service to Throw SOAP Faults
            2. Modify the WCF Client Application to Catch SOAP Faults
            3. Test the FaultException Handler
        2. Using Strongly Typed Faults
          1. Use the FaultContract Attribute to Specify the SOAP Faults an Operation Can Throw
            1. Use the FaultContract Attribute to Specify the SOAP Faults an Operation Can Throw
            2. Modify the WCF Service to Throw Strongly Typed Faults
            3. Regenerate the Proxy Class for the WCF Client Application
            4. Modify the WCF Client Application to Catch Strongly Typed Faults
        3. Reporting Unanticipated Exceptions
          1. Modify the WCF Service to Throw an Unanticipated Exception
            1. Modify the WCF Service to Throw an Unanticipated Exception
            2. Configure the WCF Service to Send Details of 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-Level 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
          1. Enable Message-Level Encryption for the NetTcpBinding Binding for the WCF Service
            1. Enable Message-Level Encryption for the NetTcpBinding Binding for the WCF Service
            2. Enable Message-Level Encryption for the NetTcpBinding Binding in the WCF Client
            3. Configure Message Tracing for the WCF Service
            4. Run the WCF Client and Service to Examine the Trace Output
        2. Protecting an HTTP Service at the Transport Level
          1. Specify Transport-Level Security for the BasicHttpBinding Binding for the WCF Service
            1. Specify Transport-Level Security for the BasicHttpBinding Binding for the WCF Service
            2. Specify Transport-Level Security for the BasicHttpBinding Binding for the WCF Client
            3. Configure the WCF HTTP Endpoint with an SSL Certificate
            4. Add Code to the WCF Client to Override Certificate Validation Checking
            5. Run the WCF Client and Service
        3. Protecting an HTTP Service at the Message Level
          1. Configure the WCF Service with an Endpoint Based on the WS2007HttpBinding Binding
            1. Configure the WCF Service with an Endpoint Based on the WS2007HttpBinding Binding
            2. Configure the WCF Client to Connect to the WS2007HttpBinding Endpoint
            3. Run the WCF Client and Service to Examine the Trace Output
        4. Authenticating Windows Users
          1. Display the Name of the User Calling an Operation in the WCF Service
            1. Display the Name of the User Calling an Operation in the WCF Service
            2. Configure the BasicHttpBinding Binding for the WCF Service to Implement Basic Authentication
            3. Modify the WCF Client to Supply the User Credentials to the WCF Service
            4. Configure the BasicHttpBinding Binding for the WCF Service and Client to use Windows Authentication
            5. Examine the Authentication Mechanism used by the NetTcpBinding Binding
        5. Authorizing Users
          1. Configure the WCF Service to use the Windows Token Role Provider
            1. Configure the WCF Service to use the Windows Token Role Provider
            2. Create Groups for Warehouse Staff and Stock Controller Staff
            3. Specify the Roles for the WCF Service Operations
            4. Test the Authorization for the WCF Service
        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 ASP.NET Membership Provider and the ASP.NET Role Provider
          1. Configure IIS Bindings to Support SSL
            1. Configure IIS Bindings to Support SSL
            2. Create the InternetProductsService Web Application
            3. Create an ASP.NET Web Site to Host the WCF Service
            4. Import the Code for the WCF Service into the IIS Web Site
            5. Configure the Activation and Binding for the WCF Service
            6. Define Users and Roles for the WCF Service
            7. Configure the WCF service to use the ASP.NET Role Provider and the ASP.NET Membership Provider
            8. Modify the WCF Client Application to Connect to the Updated WCF Service
            9. Test the WCF Service
        2. Authenticating and Authorizing Users by Using Certificates
          1. Modify the WCF Service to Require Client Applications to Authenticate by Using Certificates
            1. Modify the WCF Service to Require Client Applications to Authenticate by Using Certificates
            2. Modify the Client Application to Authenticate with the WCF Service by Using a Certificate
            3. Create Certificates to Identify the Test Users
            4. Export the Users’ Certificates, and Import Them into the Server’s Certificate Store
            5. Update the Client Application to Send a Certificate to the WCF Service
            6. Investigate the Identifiers of Users Authenticated by Using Certificates
            7. Update the User Information in the SQL Server Database
        3. Authenticating Service Messages by Using a Certificate
          1. Create an ASP.NET Web Site to Host the WCF Service That Will Implement Message-Level Security
            1. Create an ASP.NET Web Site to Host the WCF Service That Will Implement Message-Level Security
            2. Configure the WCF Service to Authenticate Itself to Client Applications by Using the Localhost Certificate
            3. Export the WCF Service Certificate and Import It into the Client Certificate Store
            4. Configure the WCF Client Application to Authenticate the WCF Service
            5. Verify that the Client Application Authenticates the WCF Service
          2. Identifying a Service
      2. Summary
    10. 6. Maintaining Service Contracts and Data Contracts
      1. Modifying a Service Contract
        1. Selectively Protecting Operations
          1. Specify the Security Requirements for Operations in the WCF Service
          2. Test the Modified Service
        2. Versioning a Service
          1. Add a Method to the WCF Service and Amend the Business Logic of Operations
          2. Add a Parameter to an Existing Operation in the Service Contract
          3. Add a New Operation to the WCF Service
        3. Making Breaking and Nonbreaking Changes to a Service Contract
      2. Modifying a Data Contract
        1. Data Contract and Data Member Attributes
          1. Change the Order of Members in the ProductData Data Contract
          2. Change the Namespace of the ProductData Data Contract
          3. Regenerate the Proxy Class and Update the WCF Client Application
          4. Add a New Field to the ProductData Data Contract
          5. Add Another Operation to the WCF Service for Investigating Data Contract Serialization
          6. Add Another Field to the ProductData Data Contract and Examine the Default Value
        2. Data Contract Compatibility
          1. Examine How the WCF Runtime Performs Round-Tripping
      3. Summary
    11. 7. Maintaining State and Sequencing Operations
      1. Managing State in a WCF Service
        1. Create the ShoppingCartService Service
          1. Create the ShoppingCartService Service
            1. Create the ShoppingCartService Service
            2. Create a Host Application for the ShoppingCartService Service
            3. Create a Client Application to Test the ShoppingCartService Service
        2. Service Instance Context Modes
          1. The PerSession Instance Context Mode
          2. The PerCall Instance Context Mode
          3. The Single Instance Context Mode
            1. Investigate the InstanceContextModeProperty of the ServiceBehavior
        3. Maintaining State with the PerCall Instance Context Mode
          1. Maintain State in the ShoppingCartService Service
            1. Maintain State in the ShoppingCartService Service
            2. Test the State Management Capabilities of the ShoppingCartService Service
        4. Selectively Controlling Service Instance Deactivation
      2. Sequencing Operations in a WCF Service
        1. Control the Sequence of Operations in the ShoppingCartService Service
          1. Control the Sequence of Operations in the ShoppingCartService Service
            1. Control the Sequence of Operations in the ShoppingCartService Service
            2. Test the Operation Sequencing in the ShoppingCartService Service
      3. Maintaining State by Using a Durable Service
        1. Examine the ShoppingCartGUIClient Application
          1. Examine the ShoppingCartGUIClient Application
            1. Examine the ShoppingCartGUIClient Application
            2. Create the Persistence Store for the SQL Persistence Provider
            3. Reconfigure the ShoppingCartService Service as a Durable Service
            4. Update the ShoppingCartGUIClient Application
            5. Test the Durable Service
      4. Summary
    12. 8. Implementing Services by Using Workflows
      1. Building a Simple Workflow Service and Client Application
        1. Implementing a Workflow Service
          1. Create the ProductsWorkflowService Service
            1. Create the ProductsWorkflowService Service
            2. Create the ProductData type, and Implement the ProductExists and FindProduct Activities
            3. Implement the Logic for the GetProduct Operation
            4. Test the ProductsWorkflowService Service
        2. Implementing a Client Application for a Workflow Service
          1. Create the Workflow Client Application
            1. Create the Workflow Client Application
            2. Test the Workflow Client Application
      2. Handling Faults in a Workflow Service
        1. Add Fault-Handling to the ProductsWorkflowService Service
          1. Add Fault-Handling to the ProductsWorkflowService Service
            1. Add Fault-Handling to the ProductsWorkflowService Service
            2. Test the Fault Handling in the ProductsWorkflowService Service
      3. Hosting a Workflow Service
        1. Hosting a Workflow Service in IIS
          1. Deploy the ProductsWorkflowService Service to IIS
            1. Deploy the ProductsWorkflowService Service to IIS
            2. Test the ProductsWorkflowService Hosted by IIS
        2. Hosting a Workflow Service in a Custom Application
          1. Build a Custom Application for Hosting the ProductsWorkflowService Service
            1. Build a Custom Application for Hosting the ProductsWorkflowService Service
            2. Test the Hosted Service
      4. Implementing Common Messaging Patterns in a Workflow Service
        1. Messaging Activities
        2. Correlating Request and Reply Messages in a Workflow Service Instance
        3. Using Messaging Activities to Implement Messaging Patterns
      5. Managing Sessions and Maintaining State in a Workflow Service
        1. Create the ShoppingCartService Workflow Service
          1. Create the ShoppingCartService Workflow Service
            1. Create the ShoppingCartService Workflow Service
            2. Host the ShoppingCartService Workflow Service
            3. Test the ShoppingCartService Workflow Service
          2. Correlating Clients and Service Instances
        2. Building Durable Workflow Services
          1. Configure the ShoppingCartService Workflow Service as a Durable Service
            1. Configure the ShoppingCartService Workflow Service as a Durable Service
            2. Test the Durable Service
      6. Summary
    13. 9. Supporting Transactions
      1. Using Transactions in a WCF Service
        1. Implementing OLE Transactions
          1. Enable Transactions in the ShoppingCartService Service
            1. Enable Transactions in the ShoppingCartService Service
            2. Configure the ShoppingCartService Service to Flow Transactions from Client Applications
            3. Create a Transaction in the Client Application
            4. Configure the Client Application to Flow Transactions to the ShoppingCartService Service
            5. Test the Transactional Implementation of the ShoppingCartService Service
        2. Implementing the WS-AtomicTransaction Protocol
      2. Designing a WCF Service to Support Transactions
        1. Transactions, Sessions, and Service Instance Context Modes
        2. Transactions and Messaging
        3. Transactions and Multi-Threading
      3. Implementing Transactions in a Workflow Service
        1. Long-Running Transactions
      4. Summary
    14. 10. Implementing Reliable Sessions
      1. Using Reliable Messaging
        1. Implementing Reliable Sessions with WCF
          1. Enable Reliable Sessions in the ShoppingCartService Service and Client Application
            1. Enable Reliable Sessions in the ShoppingCartService Service and Client Application
            2. Examine the Trace Messages Generated by the Client Application
      2. Detecting and Handling Replay Attacks
        1. Configuring Replay Detection with WCF
          1. Create a Custom Binding for the ShoppingCartService Service
            1. Create a Custom Binding for the ShoppingCartService Service
            2. Create a Custom Binding for the ShoppingCartClient Application
      3. Summary
    15. 11. Programmatically Controlling the Configuration and Communications
      1. The WCF Service Model
        1. Services and Channels
        2. Behaviors
        3. Composing Channels into Bindings
          1. Programmatically Create and Use a Custom Binding in the ShoppingCartService Service
            1. Programmatically Create and Use a Custom Binding in the ShoppingCartService Service
        4. Inspecting Messages
          1. Create a Message Inspector for the ShoppingCartService Service
            1. Create a Message Inspector for the ShoppingCartService Service
          2. Creating a Custom Behavior
            1. Create a Service Behavior for the ShoppingCartService Service
          3. Defining a Behavior Extension Element
            1. Create a Behavior Extension Element for the ShoppingCartBehavior Behavior
            2. Configure the ShoppingCartService Service to Use the ShoppingCartBehavior Behavior
      2. Controlling Client Communications
        1. Connecting to a Service Programmatically
          1. Connect to the ProductsService Service by Using a ChannelFactory Object
            1. Connect to the ProductsService Service by Using a ChannelFactory Object
            2. Configure Security and Test the Client Application
          2. Using the ClientBase Abstract Class
        2. Sending Messages Programmatically
          1. Send a Message and Process the Response in the Client Application
            1. Send a Message and Process the Response in the Client Application
      3. Summary
    16. 12. Implementing One-Way and Asynchronous Operations
      1. Implementing One-Way Operations
        1. The Effects of a One-Way Operation
        2. One-Way Operations and Transactions
        3. One-Way Operations and Timeouts
        4. Implementing a One-Way Operation
          1. Create the AdventureWorks Administrative Operations Service
            1. Create the AdventureWorks Administrative Operations Service
            2. Create a WCF Client Application to Test the AdventureWorks Administrative Operations Service
            3. Resolve the Blocking Problem with the One-Way Request
        5. Recommendations for Using One-Way Operations
      2. Invoking and Implementing Operations Asynchronously
        1. Invoking an Operation Asynchronously in a Client Application
        2. Implementing an Operation Asynchronously in a WCF Service
          1. Add an Asynchronous Operation to the AdventureWorks Administrative Service
            1. Add an Asynchronous Operation to the AdventureWorks Administrative Service
            2. Invoke the CalculateTotalValueOfStock Operation in the WCF Client Application
            3. Invoke the CalculateTotalValueOfStock Operation Asynchronously
      3. Using Message Queues
        1. Implement a WCF Service that Uses Message Queuing
          1. Implement a WCF Service that Uses Message Queuing
            1. Implement a WCF Service that Uses Message Queuing
            2. Send Messages to a Message Queue from a WCF Client Application
            3. Create the AdventureWorksAdmin Queue and Test the Service
      4. Summary
    17. 13. Implementing a WCF Service for Good Performance
      1. Using Service Throttling to Control Resource Use
        1. Configuring Service Throttling
          1. Apply Throttling to the ShoppingCartService Service
            1. Apply Throttling to the ShoppingCartService Service
        2. Specifying Memory Requirements
      2. Transmitting Data by Using MTOM
        1. Sending Large Binary Data Objects to a Client Application
          1. Examine the ShoppingCartPhotoService Service
            1. Examine the ShoppingCartPhotoService Service
            2. Configure the ShoppingCartPhotoService Service to Transmit MTOM-Encoded Messages
        2. Controlling the Size of Messages
          1. Attempt to Receive a Large Message in a WCF Application
            1. Attempt to Receive a Large Message in a WCF 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
    18. 14. Discovering Services and Routing Messages
      1. Implementing Discovery
        1. Configuring Ad Hoc Discovery
          1. Configure the ProductsService Service to Support Ad Hoc Discovery
            1. Configure the ProductsService Service to Support Ad Hoc Discovery
            2. Modify the Client Application to Discover the ProductsService Service
            3. Deploy the ProductsService Service to IIS and Test the Client Application
        2. Handling Service Announcements
          1. Configure the ProductsService Service to Send Announcements
            1. Configure the ProductsService Service to Send Announcements
            2. Modify the Client Application to Capture Announcement Messages
            3. Test the ProductsService Service and Client Application
        3. Using a Discovery Proxy
          1. Implement a Discovery Proxy
            1. Implement a Discovery Proxy
            2. Examine the Host for the ProductsServiceProxy Service
            3. Configure the ProductsService Service to Send Announcement Messages to the Discovery Proxy
            4. Modify the Client Application to Send Probe Requests to the Discovery Proxy
            5. Test the Discovery Proxy
      2. Implementing Routing
        1. Routing Messages Manually
          1. ChannelDispatcher and EndpointDispatcher Objects Revisited
          2. EndpointDispatcher Objects and Filters
          3. Routing Messages to Other Services
            1. Revisit the Durable ShoppingCartService Service
            2. Create the ShoppingCartRouter Service
            3. Configure the ShoppingCartHost Application to Host the ShoppingCartRouterService Service
            4. Test the ShoppingCartRouter Service
      3. Using the RoutingService Class
        1. Host and Configure the RoutingService Service
          1. Host and Configure the RoutingService Service
            1. Host and Configure the RoutingService Service
            2. Test the RoutingService Service
      4. Summary
    19. 15. Building REST Services
      1. Understanding the REST Model
      2. Querying Data by Implementing a REST Web Service
        1. Define the ProductsSales REST Web Service Contract
          1. Define the ProductsSales REST Web Service Contract
            1. Define the ProductsSales REST Web Service Contract
            2. Implement the ProductsSales REST Web Service
            3. Host the ProductsSales REST Web Service
            4. Test the ProductsSales REST Web Service by Using a Web Browser
            5. Build a Procedural Client Application for the ProductsSales REST Web Service
      3. Updating Data Through a REST Web Service
        1. Extend the ProductsSales REST Web Service to Support Data Updates
          1. Extend the ProductsSales REST Web Service to Support Data Updates
            1. Extend the ProductsSales REST Web Service to Support Data Updates
            2. Update the Procedural Client Application and Test the ProductsSales REST Web Service
      4. Using WCF Data Services
        1. Build a WCF Data Service to Expose Sales Information
          1. Build a WCF Data Service to Expose Sales Information
            1. Build a WCF Data Service to Expose Sales Information
            2. Test the SalesData WCF Data Service
        2. Consuming a WCF Data Service in a Client Application
          1. Build a Test Client Application for the SalesData Service
            1. Build a Test Client Application for the SalesData Service
            2. Configure Tracing and Test the SalesData Service
        3. Modifying Data by Using a WCF Data Service
        4. Handling Exceptions in a Client Application
      5. Summary
    20. 16. 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. Bindings and Duplex Channels
      2. Using a Callback Contract to Notify a Client of the Outcome of a One-Way Operation
        1. Add a Callback Contract to the ProductsService Service and Invoke a Callback Operation
          1. Add a Callback Contract to the ProductsService Service and Invoke a Callback Operation
            1. Add a Callback Contract to the ProductsService Service and Invoke a Callback Operation
            2. Generate the Client Proxy and Implement the Callback Contract
            3. Configure the WCF Service and Client Application to Use the WSDualHttpBinding Binding
      3. Using a Callback Contract to Implement an Eventing Mechanism
        1. Add Subscribe and Unsubscribe Operations to the ProductsService Service
          1. Add Subscribe and Unsubscribe Operations to the ProductsService Service
            1. Add Subscribe and Unsubscribe Operations to the ProductsService Service
            2. Update the WCF Client Application to Subscribe to the “Price Changed” Event
            3. Test the “Price Changed” Event in the ProductsService Service
        2. Delivery Models for Publishing and Subscribing
          1. The Push Model
          2. The Pull Model
          3. The Broker Model
      4. Summary
    21. 17. Managing Identity with Windows CardSpace
      1. Using Windows CardSpace to Access a WCF Service
        1. Implementing Claims-Based Security
          1. Configure the ShoppingCartService Service to Use Claims-based Security
            1. Configure the ShoppingCartService Service to Use Claims-based Security
            2. Amend the ShoppingCartService Service to Authorize Users Based on Their Email Address
            3. Configure the ShoppingCartClient Application to use Windows CardSpace to Send a Token Identifying the User
            4. Create Information Cards for Testing the ShoppingCartService Service
            5. Test the ShoppingCartService Service
        2. Using an Identity Provider
          1. Configuring a WCF Client Application and Service to Use an Identity Provider
        3. Claims-Based Authentication in a Federated Environment
      2. Summary
    22. 18. Integrating with ASP.NET Clients and Enterprise Services Components
      1. Creating a WCF Service That Supports an ASP.NET Client
        1. Examine an Existing ASP.NET Web Service and Client Application
          1. Examine an Existing ASP.NET Web Service and Client Application
            1. Examine an Existing ASP.NET Web Service and Client Application
            2. Implement a WCF Service to Replace the ASP.NET Web Service
            3. Configure the WCF Host Application and Service
            4. Test the ASP.NET Client Application
      2. Exposing a COM+ Application as a WCF Service
        1. Deploy the Products COM+ Application to the COM+ Catalog
          1. Deploy the Products COM+ Application to the COM+ Catalog
            1. Deploy the Products COM+ Application to the COM+ Catalog
            2. Configure the Products COM+ Application as a WCF Service
            3. Test the Products COM+ Application
      3. Summary
    23. Index
    24. About the Author
    25. Copyright