Windows Communication Foundation Using C#®
- Windows Communication Foundation Using C# Training Class Summary
-
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 3 day 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 concludes with a discussion of error handling and security. A large number of working examples and lab exercises are provided. The course uses .NET 4.0 and Visual Studio 2010.
Audience: .NET Programmers who wish to use WCF to create and consume web services.
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.
Class Length: 3 days
- Windows Communication Foundation Using C# Training Class 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.
- Windows Communication Foundation Using C# Training Class Detailed Outline
-
- WCF Essentials
- What is WCF?
- Service Orientation
- WCF = ABC
- Address, Binding, Contract
- Hosting Services
- A Service Contract
- Visual Studio WCF Test Host
- Closing the Test Host Manually
- Self-Hosting
- ServiceHost Class
- Host Life Cycle
- WCF Clients
- Channels
- Channel Factory
- Base Address
- Uri Class
- Configuration Files
- Proxy Initialization
- Metadata Exchange
- Behaviors
- A Service in a Browser
- Standard Endpoints
- Addresses and Bindings
- Addresses
- Transports
- Bindings
- Message Exchange Patterns
- Security
- Choosing a Binding
- Working with Endpoints
- Helper Methods
- ServiceDescription Class
- Multiple Endpoints
- Configuration File
- Simple Host Code
- Service Contracts
- Service Contracts at Class Level
- Benefits of Interface Level Definition
- Services with Multiple Contracts
- ServiceContractAttribute
- Attributes in WSDL
- Viewing WSDL Files
- Contract Inheritance
- Operation Overloading
- Enabling Operation Overloading
- Operation Overloading Client
- Instance Management
- Behaviors
- Configuring Behaviors
- WCF Instancing Models
- Using Per-Call Instancing
- Using Per-Session Instancing
- Sessions and Threading
- Singleton Instancing
- Which Model to Use?
- Windows Forms WCF Clients
- Data Contracts
- Implementing Data Contracts
- XSD for Data Contract
- Arrays
- Array in XML Schema
- Array in Proxy
- Generic Collections
- Enumerations in Data Contracts
- Employee Client Program
- Saving and Restoring
- Serialization in WCF and .NET
- SOAP Serialization
- DataContract Serialization
- JSON Serialization
- Using XmlSerializer
- Restoring Data
- Versioning
- New and Missing Members
- New Client of Old Service
- Round Trip
- Required Members
- OnDeserializing Event
- More about Service Contracts
- Versioning Service Contracts
- New Operations
- Message Exchange Patterns
- Request-Reply
- Oneway / Duplex
- Callbacks
- Invoking a Callback
- Asynchronous Proxies
- Threading Considerations
- Handling Errors
- Errors in Distributed Systems
- Errors in .NET and WCF
- Service Library Code
- Client Code
- Client Exception Handling
- Faults and Exceptions
- Exception Details
- Fault Contracts
- Custom Faults
- Faulted Channels
- WCF Security
- Security Aspects of Services
- Transfer Security
- Transport Security
- Configuring Transport Security
- Host and Client Security Configuration
- Message Security
- Certificates
- Managing Certificates
- Exception Details
- Client Certificate Configuration
- Sending Credentials
- Username Credentials
- WCF Routing Service
- Service Contract and Implementation
- Service Configuration
- Hosting the Service
- Client Application
- Configuring the Router
- Router Configuration File
- Routing Contracts
- Message Filters
- EndpointName Message Filter
- EndPointName Router Configuration
- Incoming Endpoints and the Client
- Error Handling
- Appendix A – Learning Resources
- Appendix B. Hosting in IIS 7.5
- Internet Information Services
- Installing IIS 7.5
- WCF with IIS 7.5
- .NET Framwork Version
- Registering ASP.NET
- A Service Contract
- A Website for the Service
- WCF ServiceTemplate
- Service Configuration
- Referencing the Class Library
- Examining the Service in the Browser
- WCR Clients
- Creating WCF Clients
- Service as an IIS Application
- Converting to an Application
- Configuring as an Application
- Moving a WCF Solution
- WCF Essentials



