Wcf 4.0 quickstart

23
WCF 4.0 Quickstart Chris Deweese, Consultant, Daugherty Business Solutions

description

Presentation delivered at the 2010 Day of .NET, August 20 & 21 at the Ameristar in St. Charles, MO

Transcript of Wcf 4.0 quickstart

Page 1: Wcf 4.0 quickstart

WCF 4.0 Quickstart

Chris Deweese, Consultant, Daugherty Business Solutions

Page 2: Wcf 4.0 quickstart
Page 3: Wcf 4.0 quickstart

Warning

• Should I answer my phone and suddenly run out, rest assured knowing it’s because my wife is most likely going into labor with our 3rd child.

• Its definitely not because I’m totally unprepared for this and have no idea what I’m talking about.

• Definitely not that.

Page 4: Wcf 4.0 quickstart

What is WCF?

• 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

Page 5: Wcf 4.0 quickstart

Why Would I use WCF?

• Web Services (SOAP & REST)• Distributed Communication (Messaging –

message queues/sockets)• Intra-process communication (Processes on

one machine)

Page 6: Wcf 4.0 quickstart

Key Concepts• Service – Unit of work exposed to the world.• Endpoint – the collection of the services address,

binding, and contract.• 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.• 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.

Page 8: Wcf 4.0 quickstart

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

Page 9: Wcf 4.0 quickstart

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)– NetMsmq– MsmqIntegration– NetNamedPipe– NetTcp– NetPeerTcp

• Set via configuration or through code

Page 10: Wcf 4.0 quickstart

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”

Page 11: Wcf 4.0 quickstart

Hosting WCF Services

• In Process• Windows Service• Web Service (IIS)• Windows Activation Services

– WAS allows you to host a service on any binding

Page 12: Wcf 4.0 quickstart

WCF Architecture

Page 13: Wcf 4.0 quickstart
Page 14: Wcf 4.0 quickstart
Page 15: Wcf 4.0 quickstart

What’s new in WCF 4?

• Simplified configuration• Simplified configuration• Simplified. Configuration.

Page 16: Wcf 4.0 quickstart

What else is new in WCF 4?

• WS-Discovery protocol implementation– Used to discover services on the network

• Routing service– Used to route messages based on content or other

rules you specify• REST Improvements

– Enhancements to simplify REST service development

Page 17: Wcf 4.0 quickstart

Let’s Build a Service

• Less talk. More code.• Demo: BasicHttp Service

Page 18: Wcf 4.0 quickstart

Let’s get some REST

• Drop the soap.• Demo: Add REST endpoint to existing service

Page 19: Wcf 4.0 quickstart

Hands-free with Default Endpoints

• Look Ma’ No Configuration• Demo: Hosting BasicHttp, Net.Tcp, and REST in

one IIS Application

Page 20: Wcf 4.0 quickstart

Where do you want to go today?

• Routing Service• Demo: Sports & Concert ticket services

(Created by Richard Seroter http://bit.ly/cdHp7U)

Page 21: Wcf 4.0 quickstart

Why WCF 4 is Neat-o

• Aka “Summary”• Simplified configuration through default

endpoints• Simplified coding model for REST services

(uses ASP.NET 4 routing)• New features – Discovery & Routing

Page 22: Wcf 4.0 quickstart

Questions/Discussion

Page 23: Wcf 4.0 quickstart