This course is intended for application developers who know how to build and consume Web services in .NET 2.0 and how to use the common features of the base class library. The application developers do not have to understand concepts such advanced WS-*, WSE, service lifecycle management, and diagnostics.
Before attending this course, students should have intermediate experience developing applications by using previous versions of Microsoft Visual Studio at level 200.
After completing this course, students will be able to:
- Build a simple WCF service and client.
- 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.
1. Getting Started with Windows Communication Foundation
- Designing an Application to be Part of a Service Oriented Architecture (SOA)
- Overview of WCF Architecture
- Using a Language-Level Interface As a Service Contract
- Implementing a Simple WCF Service in Visual Studio 2008
- Consuming a simple WCF service in Visual Studio 2008
Lab: Creating a Simple Service
Creating a Simple WCF Service
Calling the Simple WCF Service
2. Configuring and Hosting WCF Services
- Programmatically Configuring a Managed Application to Host a WCF Service
- Programmatically Configuring a Managed Application to Call a WCF Service
- Defining Client and Service Settings by Using File-Based Configuration
- Selecting a Hosting Option for a WCF Service
- Deploying a WCF 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
Employing Different Hosting Options for a Servic
3. Endpoints and Behaviors
- 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 Service
Creating WCF Clients and Services That Interoperate with Non-WCF Web Services
4. Debugging and Diagnostics
- Logging WCF messages
- Trace WCF service activity
Lab: Message Logging and Activity
Generating Logging Information for a Service
Enabling End-to-End Tracing for a Service
5. Designing and Defining Contracts to Meet Application Requirements
- Designing a Coherent and Cohesive WCF Service Interface
- Defining a Service Contract
- Defining Operations on a Service
- Defining a Data Contract
Lab: Contracts for Services and Data
Defining and Implementing a One-way Operation Contract
Passing Complex Data with a Data Contract
Defining and Implementing a Callback Contract
6. Handling Errors
- Relating .NET Exceptions to Service-level Faults
- Using Faults in a Service
- Handling Faults and Exceptions on Clients
Lab: Error Handling
Handling Unexpected Errors in a WCF Service
Add Fault Handling to a WCF Service and the Service Contract
7. Improving WCF Service Quality
- 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
8. Implementing WCF Security
- 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 Internal Network Communication
Applying Security for Internet Communication
9. Implementing Transactions
- Overview of Transactions in a Service-Oriented Application
- Creating Transactional Service Operations
- Enabling the Flow of Transactions from Client to Service
Lab: Implementing Transactions for a Service
Control the Flow of a Transaction from Client to Service
Force a Transaction to Start When a Service Operation Is Called