Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Wcf 4.5 quick start dodn2013


Published on

WCF Quick Start - St. Louis Days of .NET 2013

Published in: Technology
  • Be the first to comment

Wcf 4.5 quick start dodn2013

  1. 1. WCF Quick Start photo: pasukaru76 Chris Deweese, Manager, Daugherty Business Solutions
  2. 2. What WCF Will Not Do (Attempting these will void your warranty) • • • • • • Solve all your problems Assist in Particle Acceleration Defeat Superheroes Create Skynet Your Chores Make the architect who told you to build an SOA utopia happy (He’ll change his mind about that later and you’ll have to rebuild it) photo: basibanget
  3. 3. What is WCF? (The boring textbook version) • Windows Communication Foundation • Framework for building distributed applications • Unified programming model for different communication channels (web, sockets, message queues, etc) • Brings together elements from Remoting, ASMX Web Services, Messaging photo: pim fijneman
  4. 4. Why would I use WCF? • Web Services (SOAP & REST) • Data Services (RIA, OData) • Distributed Communication (Messaging – message queues/sockets) • Intra-process communication (Processes on one machine) photo: pete reed
  5. 5. Key Concepts • Service – Unit of work exposed to the world. • Address – The network location of the service (e.g., http://localhost/home/home.svc) • Binding – How you interact with the service at the wire level. • Channel – The transport mechanism that moves the message between service and client. • Endpoint – the collection of the services address, binding, and contract. • Dispatcher – Manages execution of service code by routing messages to the appropriate service instance and method. • Behavior – How you control the local execution of a service.
  6. 6. Let’s Learn our ABC’s
  7. 7. Address • “Dude where’s my service?” • The location of the service on the network where it can be reached. – http://localhost/pizza.svc – net.msmq://localhost/private/pizzaservice – net.tcp://localhost:6000/pizzaservice • Set via configuration or through code
  8. 8. Binding • “How do I talk to this thing?” • The protocol and policies used to connect to the service at it’s address. • WCF Provided Bindings – Http(BasicHttp, WsHttp, WsDualHttp, WsFederation, NetHttp) – NetMsmq – MsmqIntegration – NetNamedPipe – NetTcp – NetPeerTcp – NetHttpBinding & NetHttpsBinding (new in .net 4.5/Windows 8 only) • Set via configuration or through code
  9. 9. Contract • “What’s it going to do for me?” • Defines the operations, inputs, outputs, and message exchange patterns of the service. • Defined using an Interface; wired into WCF by using the ServiceContract attribute. Methods use the OperationContract attribute. Classes use the DataContract attribute and members use the DataMember attribute. • WCF Serialization is “Opt-In”
  10. 10. Hosting WCF Services • • • • In Process Windows Service Web Service (IIS) Windows Activation Services – WAS allows you to host a service on any binding photo: jannem
  11. 11. WCF Programming Model Source: “Windows Communications Foundation Architecture”
  12. 12. WCF Message Flow
  13. 13. WCF Layers
  14. 14. What’s new in WCF 4.5? • Simplification Features – Contract-first development – Configuration validation during build – Increased quota values • Task-based Async support • ASP.NET compatibility requirements now defaults to ‘allow’ • Generate a Single WSDL • Xml Editor Tooltips in configuration files • ChannelFactory Caching • …more (
  15. 15. Let’s Build a Service • • • • Less talk. More code. Demo: BasicHttp Service Demo: Add Rest Support Demo: Task-Based Async Client photo: neil t
  16. 16. Discussion/Questions photo: oberazzi