IDesign Windows Communication Foundation (WCF) Master Class
Printer friendly

Course Overview

Windows Communication Foundation (WCF) is Microsoft's implementation of set industry standards defining service interactions. But fundamentally, WCF is nothing short of the new .NET, a better way of writing applications. The training starts by explaining the motivation for WCF, and then continues to discuss in depth how to develop service-oriented applications using WCF. You will see how to take advantage of built-in features such as service hosting, instance management, asynchronous calls, synchronization, reliability, transaction management, disconnected queued calls, security as well as emerging technologies like cloud computing and the Windows Azure AppFabric service bus. While the training shows how to use these features, it sets the focus on the ‘why’ and the rationale behind particular design decisions, often shedding light on poorly-documented and understood aspects. You will learn not only WCF programming, but also relevant design guidelines, best practices, and pitfalls. The material presented includes IDesign's original techniques and utilities and goes well beyond anything you can find in conventional training sources. The objective of the training is not to just make you a WCF expert, but also a better software engineer.

On top of the frontal presentations, the training uses lab exercises and numerous conceptual demos and original tools and utilities. Attendees will find the demos useful not only in the training class but after it. The demos serve as a starting point for new projects, and as a rich reference and samples source.

About Miquel Castro -Miguel Castro is an architect with IDesign with over 22 years of experience in the software industry. He's a Microsoft MVP, member of the INETA Speakers Bureau, and ASP Insider. With a Microsoft background that goes all the way back to VB 1.0 (and QuickBasic in fact), Miguel has spoken at numerous user groups, code camps, and conferences throughout the US and overseas. He has also been featured on the technology talk shows, .NET Rocks, .NET Rocks-TV, Microsoft's ARCast (Architecture Podcast), and The Polymorphic Podcast on numerous occasions. He specializes in architecture and development consulting and training using Microsoft technologies. Miguel is also a regular author with CoDe Magazine.



Any .NET developer or architect would benefit greatly from the WCF training.


Basic familiarity with C# 3.0 and system programming is recommended.

Course Number

Course Length
  5 Days

Course Price


Vendor Credit or Voucher Eligible


Introduction to Service-Orientation

  • What are services
  • Service-oriented architecture
  • Service-oriented applications
  • Service-oriented programming
  • HTTP Services
  • REST architectural style

WCF Essentials

  • Addresses
  • Service contracts
  • Hosting and choosing a host
  • Binding
  • Endpoints
  • Default configuration with WCF 4.0
  • Client-side programming
  • WCF architecture
  • Transport session
  • Reliability

Web APIs and REST

  • Using WCF WebHttp for HTTP services
  • Using ASP.NET Web API

Data Contracts

  • Service parameters and serialization
  • Data contracts
  • Data sets and tables conversion
  • Data contract hierarchy
  • Versioning

Headers and Contexts

  • Out-of-band parameters
  • Developing custom contexts
  • Context bindings

Service Instance Management

  • Design for scalability
  • Per-call services
  • Session-full services
  • Session termination
  • Singleton service
  • Durable Services
  • Throttling


  • Operations and bindings
  • Request-reply operations
  • One-way operations
  • Duplex calls and callbacks
  • Events
  • Publish/Subscribe service


  • Why discovery
  • Ad-hoc discovery
  • MEX-enabled discovery
  • Scopes
  • Announcements
  • Discovery factory
  • Pub/sub using discovery

Faults and Errors

  • Fault propagation policies
  • Faults Vs. exceptions
  • Fault contracts
  • Debugging
  • Error handling extension


  • Transactions problem space
  • Transaction management and propagation
  • WCF transaction managers
  • Service transaction configuration
  • Declarative and explicit voting
  • Timeout and isolation
  • Explicit transactional programming
  • Transactional behavior and transactional memory
  • Service-state management

Concurrency Management

  • Service thread safety
  • Concurrency modes
  • Callback and reentrancy
  • Resources and services
  • Deadlock avoidance
  • Resource synchronization context
  • UI thread affinity
  • Custom synchronization context
  • Proxy-based async calls
  • Async. Vs synch calls

Queued Services

  • Disconnected services and clients
  • Queued contract
  • Configuration and setup
  • Transactions and queues
  • Instance modes and queued calls
  • Concurrency management
  • Failure handling
  • Design and architecture
  • Response service
  • Queued pub/sub service


  • Security aspects
  • Transfer security modes
  • Transport security
  • Message security
  • Authentication
  • Authorization
  • WCF security model
  • Identity management
  • Securing Intranet applications
  • Securing Internet applications
  • Business to Business security
  • Anonymous callers
  • IDesign's declarative security
  • Security audits

Windows Azure Hosting and Service Bus

  • Hosting services in Azure
  • What is Windows Azure AppFabric Service Bus
  • Why a service bus
  • The relay bindings
  • Event publishing and subscription
  • Cloud as interceptor
  • Buffers
  • Compositions and design patterns
  • Service bus authentication
  • End-to-End security
  • IDesign's service bus host, proxy and helper classes