3 days
Training Overview
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 includes a discussion of error handling
and security and concludes with coverage of the WCF Routing Service. The course uses Visual Studio
2013 with .NET 4.5.1. The course discusses new features of WCF 4.5, including new bindings and
support for the task-based asynchronous pattern and WebSockets. A large number of working
examples and lab exercises are provided.
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
- Understand the WCF Routing Service
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.
Training Outline
-
WCF Essentials
- What is WCF?
- WCF and Web API
- Address, Binding and Contract
- WCF Services and Clients
- WCF Service Libraries
- WCF Test Host and Test Client
- Self-Hosting
- WCF Clients
- Channel Factories
- Creating Proxies
- Configuration Files
- Metadata
- Standard Endpoints
- WCF Architecture
-
Addresses and Bindings
- Addresses
- Bindings
- Message Exchange Patterns
- Configuring Bindings
- Interoperating with ASMX Web Services
- Default Endpoints and Bindings
- Service Descriptions
- Multiple Endpoints
-
Service Contracts
- Defining Service Contracts
- Defining Operation Contracts
- Services with Multiple Contracts
- Contract Inheritance
- Operation Overloading
-
Instance Management
- Using Per-Call Services
- Using Per-Session Services
- Using Singleton Services
- Configuring Behaviors
- Windows Forms WCF Clients
-
Data Contracts
- Implementing Data Contracts
- Mapping Data Contracts to XSD Schema
- Serialization
- Arrays and Generic Collections
- Enums
- Versioning Data Contracts
-
More about Service Contracts
- Versioning Service Contracts
- Implementing Message Exchange Patterns
- Oneway Contracts
- Duplex Contracts
- Asynchronous Proxies
- Task-Based Asynchronous Pattern
- WebSockets
-
Handling Errors
- Faults and Exceptions
- Generating and Handling Faults
- Fault Contracts
- Faults and Sessions
-
WCF Security
- Security Aspects of Services
- Transport Security
- Message Security
- Certificates
- Credentials
-
WCF Routing
- WCF Routing Service
- Routing Configuration
- Routing Contracts
- Message Filters
- Error Handling
- Routing Scenarios
-
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.5.1
and Visual Studio 2013. The preferred operating
system is Windows 7 with Internet Information
Services 7.5.
A good minimal hardware profile for this course
would have a 1.8 GHz or equivalent CPU, 2 GB of
RAM, and at least 10 GB of free disk space for
tools installation and courseware.