4153. Windows Communication Foundation Using C# and VS 2010
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 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 includes a discussion of error handling and security and concludes with coverage of the WCF Routing Service. The course uses Visual Studio 2012 with .NET 4.5, which provides a number of added features in WCF, including new bindings and support for the task-based asynchronous pattern and WebSockets. A large number of working examples and lab exercises are provided.
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
Understand the WCF Routing Service
Prerequisite: 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.
1. WCF Essentials a. What is WCF? b. Address, Binding and Contract c. WCF Services and Clients d. WCF Service Libraries e. WCF Test Host and Test Client f. Self-Hosting g. WCF Clients h. Channel Factories i. Creating Proxies j. Configuration Files k. Metadata l. Standard Endpoints m. WCF Architecture
2. Addresses and Bindings a. Addresses b. Bindings c. Message Exchange Patterns d. Configuring Bindings e. Interoperating with ASMX Web Services f. Default Endpoints and Bindings g. Service Descriptions h. Multiple Endpoints
3. Service Contracts a. Defining Service Contracts b. Defining Operation Contracts c. Services with Multiple Contracts d. Contract Inheritance e. Operation Overloading
4. Instance Management a. Using Per-Call Services b. Using Per-Session Services c. Using Singleton Services d. Configuring Behaviors e. Windows Forms WCF Clients
5. Data Contracts a. Implementing Data Contracts b. Mapping Data Contracts to XSD Schema c. Serialization d. Arrays and Generic Collections e. Enums f. Versioning Data Contracts
6. More about Service Contracts a. Versioning Service Contracts b. Implementing Message Exchange Patterns c. Oneway Contracts d. Duplex Contracts e. Asynchronous Proxies f. Task-Based Asynchronous Pattern g. WebSockets
7. Handling Errors a. Faults and Exceptions b. Generating and Handling Faults c. Fault Contracts d. Faults and Sessions
8. WCF Security a. Security Aspects of Services b. Transport Security c. Message Security d. Certificates e. Credentials
9. WCF Routing a. WCF Routing Service b. Routing Configuration c. Routing Contracts d. Message Filters e. Error Handling f. Routing Scenarios
Appendix A: Learning Resources
Appendix B: Hosting in IIS 7.5 Installing IIS 7.5 IIS Manager An IIS Hosted Service
System Requirements: Course exercises require Microsoft .NET 4.5 and Visual Studio. The preferred operating system is Windows 7 with Internet Information Services 7.5. A good minimal hardware profile for this course would have a 1.8 GHz or equivalent CPU, 2 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.