Call us at 1-800-413-0939
Hands On Technology Transfer
gsa

WCF Programming Course

Attend face-to-face, remote-live, on-demand or on site at your facility.

On-Demand Training with Personal Facilitation
Top

WCF Programming Using C#

Delivery Options: Attend face-to-face in the classroom, remote-live or via on-demand training.

Pricing

Face-to-face or remote-live: $2495

On-demand: $1495

Discounts: We offer multiple discount options. Click here for more information.

Duration

Face-to-face or remote-live: 5 Days

On-demand: Approximately 35 hours of coursework with personal facilitation, to be completed in a four week span.

Registration

Face-to-face: Click here to view our schedules and register for in-person sessions.

Remote-live: Click here to register for live remote class sessions within a date range of your choosing.

On-demand: Click here to register for on-demand training with personal facilitation, on a start date of your choosing.

Students Will Learn

  • Using Visual Studio to create C# applications
  • Working with .NET data types
  • Creating variables with the proper scope and using operators to build complex expressions
  • Designing and using classes
  • Using control structures such as if, while and for
  • Using procedures to build complex applications
  • Throwing and trapping exceptions using the try and catch statements
  • Using single and multi-dimensional arrays
  • Working with .NET collections
  • Using LINQ to make queries
  • Defining and implementing interfaces
  • Working with enumerations
  • Service-oriented architecture
  • Web Services implementation
  • Binding options
  • Defining service contracts
  • Defining data contracts
  • WCF security options
  • Hosting WCF services
  • Choosing WCF bindings
  • Managing service instances
  • Fault handling
  • WCF routing control

Course Description

This WCF training course provides students with hands on experience using Visual Studio to create service-oriented applications using Windows Communication Foundation (WCF) and C#. This class provides a thorough introduction to the C# programming language, including coverage of the essentials of the C# programming language, built in data types, operators, control structures, classes and methods. Students then learn how to leverage the power of the .NET Framework to build Web Service applications that interoperate with consumer applications including other platforms and technologies.

Students will learn how to configure addresses, bindings, and service and data contracts as well as how to use various techniques for developing endpoints to allow communication between consumer applications and the web services provider.

The WCF training course includes coverage of instance management, fault handling, and security. Students will learn how to use the WCF Routing Service for load balancing, content-based routing, and protocol bridging.

Comprehensive labs and exercises provide the students with experience creating both content server and consumer applications.

This course provides thorough coverage of the use of Windows Communication Foundation for service-oriented applications. Students requiring additional coverage of ASP.NET Web Forms, ASP.NET MVC, Windows Forms or Windows Presentation Foundation should contact HOTT or refer to HOTT's complete course listing for additional training courses.

Course Prerequisites

Prior experience with a scripting or programming language is required when learning WCF programming.

Course Overview

Introduction to .NET
  • Overview of the .NET Framework
  • How .NET is Different from Traditional Programming
  • Common Language Runtime (CLR)
  • Common Language Specification (CLS)
  • Common Type System (CTS)
  • .NET Assemblies
  • Microsoft Intermediate Language (CIL)
  • .NET Namespaces
  • .NET Framework Class Library
Introduction to Visual Studio
  • Setting Profiles
  • Creating a Project
  • Using the Code Editor
  • Setting Project Properties
  • Adding References
  • Compiling a Program
  • Running a Program
  • Debugging a Program
  • Using the MSDN (Help)
Language Fundamentals
  • C# Program Structure
  • Defining Namespaces
  • Understanding C# Data Types
  • Defining Variables and Constants
  • Comparing Value Types vs. Reference Types
  • Working with Operators and Expressions
  • Performing Type Conversions
  • Using Console I/O
  • Formatting Numbers, Date and Times
Conditionals and Looping
  • if/else
  • switch
  • while and do/while
  • for
  • foreach
Functions and Parameters
  • Defining Static and Instance Functions
  • Passing Parameters by value and by reference
  • Overloading Functions
  • Optional Parameters
  • Using Variable Length Parameter Lists
Exception Handling
  • What are Exceptions?
  • .NET Exception Hierarchy
  • Catching Exceptions
  • Throwing Exceptions
  • Managing Resources with Finally
Collections
  • Defining and Using Arrays
  • Understanding System.Array
  • Using .NET Collections
  • Working with ArrayLists and Hashtables
  • Working with Lists and Dictionaries
  • Introducing LINQ
Object-Oriented Programming
  • Overview of Object-Oriented Programming
  • Defining and Using Classes
  • Extending .NET Classes via Inheritance
  • Defining and Implementing Interfaces
  • Understanding the Role of Interfaces in .NET
  • Working With Enumerations
Introduction to WCF
  • WCF Web Services Architecture
  • Addresses, Bindings and Contracts
  • WCF Service Libraries
  • WCF Test Host and Test Client
  • ChannelFactory Class
  • Configuring WCF Clients
  • Standard Endpoints
Service Addresses
  • Address Types
    • Endpoint Address
    • Base Address
    • MEX (Message Exchange) Address
  • Metadata Exchange
  • Address Formats
Selecting Binding Options
  • Binding Selection
  • HTTP Bindings
  • TCP and Named Pipe Bindings
  • MSMQ Binding
  • BasicHttpBinding Class
Managing a Service Instance
  • Configuring Behaviors
  • Service Instance Models
    • Per-Call
    • Per-Session
    • Singleton
  • Threading Considerations
  • Consuming WCF Application Services with .NET Applications
  • Consuming WCF Application Services on foreign platforms
Defining Service Contracts
  • Service and Operation Contracts
  • Creating Contracts at the Class and Interface Level
  • Using ServiceContractAttribute
  • Types of Service Contracts
    • Oneway
    • Request-Reply
    • Duplex
  • Callbacks
  • Asynchronous Proxies
  • WSDL Files
  • Contract Inheritance and Overloading
  • Implementing Message Exchange Patterns
  • Versioning
Defining Data Contracts
  • Using DataContractAttribute
  • Mapping Data to Schema
  • Returning Arrays
  • Returning Generic Collections
  • Data Serialization
  • Versioning
Endpoints
  • Endpoints Explained
  • Working with Endpoints
  • Configuring Endpoints
  • Using Multiple Endpoints
Fault Handling
  • FaultException class
  • FaultCode class
  • FaultContract class
  • Client Exception Handling
  • Including Exception Details
Securing WCF Applications
  • Security Issues with Services
  • Types of Security
    • Transfer Security
    • Transport Security
    • Message Security
  • Configuring Security on Client and Server
  • Managing Certificates
  • Configuring Client Certificates
  • Sending Credentials
WCF Routing Configuration
  • WCF Routing Service
  • Hosting the Service
  • Consuming the Service
  • Service Contract and Implementation
  • Routing Contracts
  • Message Filters
  • Common Routing Scenarios
    • Load Balancing
    • Content Based Routing
    • Service Partitioning
    • Protocol Bridging

Course Benefits

  • Course materials include student guide, hands-on lab manual and USB flash drive for examples and lab work
  • Students receive a certificate of completion at the end of class
  • Students can retake any portion of a live class that has been completed, within 12 months at no extra cost
  • There are no registration fees or cancellation fees

Reviews

The class well exceeded my expectations and what I have learned will be very useful in my day to day job.
— T.K., Woolrich

Course Schedule

Choose a city below to view a schedule and registration options. If you have any questions, please call us at 978-250-4299 between 9:00 am - 5:00 pm EST.