4153.
Windows Communication Foundation Using C# and VS2010
Rev. 4.0
Windows
Communication Foundation (WCF) is Microsoft’s new framework for building
distributed systems. It unifies and builds on the diverse set of existing
distribution mechanisms, which include ASP.NET Web services and .NET Remoting.
WCF enables developers to produce highly configurable, secure, reliable and
transactional services using a single simplified programming model. And since
WCF supports the WS-* series of Web service standards, it enables simple
interoperation with other platforms and technologies.
This course
provides a thorough grounding in this important technology. The first chapter
covers the essential concepts and shows how to implement WCF services and
clients. The “ABC” of address, binding and contracts are covered in detail.
Service contracts and data contracts are elaborated, and instance management is
covered. The course concludes with a discussion of error handling and security.
A large number of working examples and lab exercises are provided. The course
uses .NET 4.0 and Visual Studio 2010.
Learning
Objectives
· Learn what WCF is, and how it
unites existing distribution mechanisms
· Gain an understanding of
addressing and binding in WCF services
· Use service contracts and data
contracts
· Implement WCF services and
clients
· Perform configuration in both
code and configuration files
· Understand faults and handle
errors in WCF applications
· Implement security in WCF
applications
Prerequisites: Students should have a good
working knowledge of building .NET applications with C#. Knowledge of building
distributed systems and Web services will also be an advantage.
Course
Outline
1. WCF Essentials
a. What is WCF?
b. Address, Binding and Contract
c. WCF Services and Clients
d. WCF Service Libraries
e. WCF Test Host and Test Client
f. Self-Hosting
g. WCF Clients
h. Channel Factories
i. Creating Proxies
j. Configuration Files
k. Metadata
l. Standard Endpoints
m. WCF Architecture
2. Addresses and Bindings
a. Addresses
b. Bindings
c. Message Exchange Patterns
d. Configuring Bindings
e. Interoperating with ASMX Web
Services
f. Default Endpoints and Bindings
g. Service Descriptions
h. Multiple Endpoints
3. Service Contracts
a. Defining Service Contracts
b. Defining Operation Contracts
c. Services with Multiple
Contracts
d. Contract Inheritance
e. Operation Overloading
4. Instance Management
a. Using Per-Call Services
b. Using Per-Session Services
c. Using Singleton Services
d. Configuring Behaviors
5. Data Contracts
a. Implementing Data Contracts
b. Mapping Data Contracts to XSD
Schema
c. Serialization
d. Arrays and Generic Collections
e. Enums
f. Versioning Data Contracts
6. More about Service Contracts
a. Versioning Service Contracts
b. Implementing Message Exchange
Patterns
c. Oneway Contracts
d. Duplex Contracts
e. Asynchronous Proxies
7. Handling Errors
a. Faults and Exceptions
b. Generating and Handling Faults
c. Fault Contracts
d. Faults and Sessions
8. WCF Security
a. Security Aspects of Services
b. Transport Security
c. Message Security
d. Certificates
e. Credentials
Appendix A
· Learning Resources
Appendix B
· Hosting in IIS 7.5
· Installing IIS 7.5
· IIS Manager
· An IIS Hosted Service
System
Requirements: Course exercises require
Microsoft .NET 4.0 and Visual Studio 2010 Professional Edition or higher. The
preferred operating system is Windows 7 with Internet Information Services 7.5.
See the appropriate course Setup Guide for details.
A good minimal
hardware profile for this course consists of a 2 GHz or better CPU, 1 GB of RAM,
and at least 4 GB of free disk space for tools installation and courseware.