- Create and configure a service as a managed application and select an appropriate hosting option.
- Expose a WCF service over different endpoints and add runtime functionality using behaviors.
- Improve debugging capabilities by examining messages and service activity.
- Define service, operation, and data contracts to meet application requirements.
- Add error handling to a WCF application.
- Address service quality issues such as performance, availability, concurrency, and instance management.
- Implement security in a WCF application.
- Protect data integrity through correct use of transactions.
Module 1: Getting Started with Windows Communication Foundation
This module explains how to build a simple WCF service and client
Lessons
- Designing SOA Applications for WCF
- Overview of WCF Architecture
- Using a Language Interface as a ServiceContract
- Creating a WCF Service in Visual Studio 2008
- Consuming a WCF Service in Visual Studio 2008
Lab: Creating a Simple Service
- Creating a WCF Service
- Calling a WCF service
After completing this module, students will be able to:
- Explain how to design an application as part of a Service Oriented Architecture (SOA).
- Describe the main parts of the WCF architecture.
- Create a simple service contract for a WCF service.
- Implement a simple WCF service in Visual Studio 2008.
- Consume a simple WCF service in Visual Studio 2008.
Module 2: Configuring and Hosting WCF Services
This module explains how to create and configure a WCF service as a managed application and select an appropriate hosting option
Lessons
- Programmatically Configuring a Managed Application to Host a WCF Service
- Calling a Service From a Managed Application by Using Programmatic Configuration
- Defining Service Settings by Using External Configuration
- Selecting a Hosting Option for a WCF Service
- Deploying a Service
Lab: Configure and Host a WCF Service
- Creating a Programmatically-Configured Managed Application to Host a Service
- Calling a Service Hosted in a Managed Application by Using Programmatic Configuration
- Defining Service Settings by Using External Configuration
- Host a Service in Different Service Hosts
- Deploying a Service onto a Remote Host
After completing this module, students will be able to:
- Create a programmatically-configured managed application that hosts a WCF service.
- Call a WCF service hosted in a managed application by using programmatic configuration.
- Define WCF service settings by using external configuration.
- Select the best hosting option for a WCF service.
- Deploy a WCF service onto a remote host.
Module 3: Endpoints and Behaviors
This module explains how to expose a WCF service over different endpoints and add runtime functionality using behaviors
Lessons
- Exposing WCF Services Over Different Endpoints
- Adding Behaviors to Services and Endpoints
- Interoperating with Non-WCF Web services
Lab: Changing Service Endpoints and Behaviors
- Exposing Services by Using Different Bindings
- Adding Metadata Exchange to a WCF Service
- Creating WCF Clients and Services that Work with Different Types of Web Services
After completing this module, students will be able to:
- Expose WCF services by using different bindings.
- Add behaviors to services and endpoints.
- Create WCF clients and services that interoperate with different types of Web services.
Module 4: Debugging and Diagnostics
This module explains how to improve debugging capabilities by examining messages and service activity
Lessons
- Logging Messages
- Activity Tracing
Lab: Message Logging and Activity
- Generating logging information for a service
- Enabling end-to-end tracing for a service
After completing this module, students will be able to:
- Log WCF messages.
- Trace WCF service activity.
Module 5: Designing and Defining Contracts
This module explains how to define service, operation, and data contracts to meet application requirements
Lessons
- Designing a Coherent and Cohesive WCF Service Contract
- Defining a Service Contract
- Defining Operations on a Service
- Defining a Data Contract
Lab: Contracts for Services and Data
- Defining a One-Way Operation
- Passing Complex Data
- Defining a Callback Contract
After completing this module, students will be able to:
- Design a coherent and cohesive service contract.
- Define a service contract.
- Define operations on a service.
- Define a data contract.
Module 6: Handling Errors
This module explains how to add error handling to a WCF application
Lessons
- Relating .NET Exceptions to Service-Level Faults
- Defining Fault Information in a Service Contract
- Handling Service Exceptions on Clients
- Handling Unexpected Errors in a WCF Service
- Adding Fault Handling to a WCF Service and the Service Contract
After completing this module, students will be able to:
- Explain how .NET exceptions relate to service-level faults.
- Define fault information in a service contract.
- Handle service exceptions on clients.
Module 7: Improving WCF Service Quality
This module explains how to address service quality issues such as performance, availability, concurrency and instance management
Lessons
- Managing WCF Service Instances
- Managing Concurrency Issues
- Improving WCF Service Performance
Lab: Improving WCF Service Quality
- Managing WCF Service Instances
- Managing Concurrency Issues
- Throttling Access to a WCF Service
- Passing Bulk Data Between WCF Client and Service
After completing this module, students will be able to:
- Manage WCF service instances.
- Manage concurrency issues.
- Improve WCF service performance.
Module 8: Implementing WCF Security
This module explains how to implement security in a WCF application
Lessons
- Overview of Security in WCF
- Applying Overall Security Requirements to a Binding
- Specifying Required Client and Service Credentials
- Working With Security Information
Lab: Implementing WCF Security
- Applying Security for Internet Communication
- Applying Security for Intranet Communication
After completing this module, students will be able to:
- Explain the process for implementing security in WCF.
- Apply overall security requirements to a binding.
- Specify required client and service credentials.
- Work with security information.
Module 9: Implementing Transactions This module explains how to protect data integrity through correct use of transactions
Lessons
- Overview of Transactions in a Service-Oriented Application
- Creating Transactional Service Operations
- Enabling the Flow of Transactions from Client to Service
Lab: Transactions and Services
- Starting a Transaction by Using a Service Operation
- Enabling the Flow of a Transaction from Client to Service
After completing this module, students will be able to:
- Explain how transactions work in a service-oriented application.
- Create transactional service operations.
- Control transaction flow from client to service.