Programming with .NET Windows Communication Foundation - Part 2: Advanced

Training code

Upcoming sessions

Learning Goals

Today's applications require the ability to communicate with other systems in an efficient and secure manner. Windows Communication Foundation is Microsoft's framework for building communication into your application in a consistent and efficient manner. It allows you to use the same programming constructs and techniques to talk to another .NET system using the most efficient protocols, or to a mainframe using highly interoperable protocols. Using the WS-I standards, WCF guarantees interoperability with any other system using these standards.

Target Audience

This in-depth course is meant for experienced developers who are already familiar with the syntax of either the VB.NET or C# language and who want to learn how to use and extend Windows Communication Foundation.


Course UWCF3-1 is a prerequisite to this course.

Course Outline

Extending the Service Model Layer

  • WCF provides extensibility points that allow developers to customize runtime behavior for service dispatching and client proxy invocation.
  • Message interception: Intercept default execution and inject your own code.
  • Parameter inspection: Inspect operation parameters before and after the method call.
  • Implementing Custom behaviors: A behavior is a class that implements runtime behavior. In this module you will learn how to make your own custom behaviors.

Advanced Contracts

  • Process Generic Messages: Implementing a generic WCF service that accepts any data and passes it on to a specific component.
  • Using versioning in your contracts to handle future and former messages.
  • Handling demarcating operations in WCF.
  • Serializing cycling graphs of objects in WCF.
  • Streaming support: In many cases it does not make sense to try to package large data into a single message. In those scenarios it is more efficient to send the data as a stream than to try to send it as one big chunk. In this topic you will learn how to configure a WCF stream, how a client can connect to a stream and start processing the data while the message is still being received.

Windows Identity Foundation

  • Using Claim-based security in combination with CardSpace: .NET Framework 3.0 introduces the new identity model. This model steps treats identity using the abstractions of subject, issuer, and claim.
  • You will learn how to combine this new identity model with existing authentication mechanisms like windows authentication and X509 certificates and the new CardSpace.
  • We will look at new patterns and architectures of securing applications outside the domain. We will make use of the new Windows Identity Foundation to support single sign-on, federation and strong authentication scenarios for on-premises and cloud applications.

Discovery and Announcements

  • What is Discovery?
  • Using Ad-Hoc discovery.
  • Managed discovery.
  • Announce availability of your Services


  • Supported Routing Contracts
  • Message filters
  • Content Based Routing
  • Error handling.

Building RESTful services

  • What is REST?
  • Building a REST service with WCF.
  • Consuming REST services from a client.
  • Adding a REST help page
  • Caching with REST
  • Adding syndication support

Supporting JSON for AJAX and JQuery integration

  • Allow WCF services to expose operations to AJAX and jQuery clients.
  • DataContractJsonSerializer: use JSON as data encoding mechanism.

ADO.NET Data Services

  • How to expose your data through RESTful services
  • How to use LINQ to consume data
  • How to save data
  • How to build an interceptor to do validation or access control

Monitor Service Health

  • WCF includes a large set of performance counters to help you gauge your application's performance. You will learn how to use and monitor the performance counters that monitor the service behavior, the endpoints that are accepting messages and the performance of the operations.
  • Security auditing: you will learn how to configure WCF to log authentication and authorization attempts, the time, location and the client's identity.
Upcoming sessions at U2U in Brussels, Belgium:

To organize this course on-site, please contact

Course Calendar
Courses On Site
Course Agenda in PDF
Become a U2U trainer

Contact Me

Call me
Send U2U folder
Send more info