- Why another Framework? What does WCF add?
- Understanding WCF fundamental concepts
- The four tenets of Service Orientation
- Looking at the WCF runtime architecture
- Using Clients, Services and Messages
- ABC: Address, Binding, Contract
The WCF Programming Life Cycle
- Defining the Service Contract
- Configuring the Service
- Hosting the Service
- Obtaining a client-side Service Contract
- Creating a WCF Client
- Best practices for building services
- Building Data Contracts using WCF
- DataContractAttribute and DataMemberAttribute
- Inheritance with known types
- Handling errors with fault contracts
- Using versioning to handle future and former messages
- Data Contract Events
- Generating Dataclasses from XML
- Working with Message Contracts
- Cyclic Object Graphs
- It's not what you say, but how you say it: Binding
- Standard bindings
- So much to choose from: Guidance in choosing bindings
- Composing custom bindings when all else fails
- Configure it - or code it? Defining Endpoints through configuration
- Using the Configuration Editor
- Default Endpoints, Protocols & Bindings
Hosting a WCF Service
- Building your own Service Host
- Using IIS to host your service
- Introducing WAS
- Introducing AppFabric
- Using Request-Reply messaging - what you already know
- Using One-Way messaging
- Using Duplex and Asynchronous messaging
- Using WebSockets for bi-directional communication
- How should your service object be created? Looking at Instancing Behavior
- Controlling concurrency with Concurrency Behavior
- Introducing Transactional Behavior
- Avoiding DOS attacks and other nasty stuff through Throttling
- Security, and deciding on what to use
- Transport vs. message security
- Using Authentication and Authorization in WCF
- Using Impersonation or Trusted Subsystem?
- Building and configuring an intranet service for security
- Building and configuring an internet service for security
Managing and Monitoring Services
- WCF performance counters.
- WCF Message and Service Diagnostics
- Security auditing: configuring WCF to log authentication and authorization attempts,
the time, location and the client's identity.
- Flowing transactions - it's a matter of trust
- Flowing the transaction from client to server
- Using System.Transactions
- Understanding Timeout and Isolation Levels
WCF Reliable Sessions
- Using Sessions in WCF
- What if messages get lost?
- Making your sessions reliable in WCF
- Introducing Message Queuing
- Building highly scalable and reliable systems with Queues
- Using WCF Queuing
Extending the Service Model Layer
- 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.
Large Data and Streaming
- Text vs Binary
- Message Transmission Optimization Mechanism (MTOM)
- Streaming Daya
- Claims-based Identity
- WS-Federation: support single sign-on, federation and strong authentication scenarios
for on- premises and cloud applications.
- WIF Vocabulary: Identity MetaSystem, Relying Parties, Identity Providers, STS, Passive
- Securing your WCF service with Azure Active Directory
Generic Services and Routing
- Process Generic Messages
- 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.
- Allow WCF services to expose operations to AJAX and jQuery clients.
- DataContractJsonSerializer: use JSON as data encoding mechanism.
- Caching with REST
- Adding syndication support
RESTful services with ASP.NET Web API
- Building REST with ASP.NET Web API
- Implementing CRUD Operations
- Supporting Multiple Representations: XML and JSON
Workflow Messaging and Workflow Services
- Workflow Foundation as an extension on WCF
- Calling a service from a workflow
- Exposing your workflow as a service
- Using the Receive activity
- Understanding correlation
- Using Content Based Correlation
Creating durable services with persistence
- Understanding workflow persistence
- Persistence databases
- Adding persistence to your workflow service
- Persist custom data using a Persistence Participant
WCF Data Services
- Exposing your data through RESTful services
- OData - The Open Data Protocol
- OData URL conventions
- Using WCF Data Services client library and LINQ to consume OData services
- Updating data with WCF Data Services
- Building a WCF Data Services interceptor to do validation or access control
Discovery and Announcements
- What is Discovery?
- Using Ad-Hoc discovery.
- Managed discovery.
- Announce availability of your Services
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 other platforms using
highly interoperable protocols. Using the WS-* standards, WCF guarantees interoperability
with any other system using these standards.
Beside WCF this training covers an introduction into Microsoft latest web service technology ASP.NET Web API. This technology part of .NET 4.5 or higher allows to create in a simplified way, based on the routing engine of ASP.NET MVC, powerful REST services.
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 the .NET framework to build services.