.NET 3.0, 3.5, 4.0 WCF, WPF, WF, CardSpace, LINQ, Task Parallel
Wcf 4.0 quickstart
-
Upload
chris-deweese -
Category
Documents
-
view
2.922 -
download
1
description
Transcript of Wcf 4.0 quickstart
WCF 4.0 Quickstart
Chris Deweese, Consultant, Daugherty Business Solutions
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.
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
Why Would I use WCF?
• Web Services (SOAP & REST)• Distributed Communication (Messaging –
message queues/sockets)• Intra-process communication (Processes on
one machine)
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.
ABC’s of WCF
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
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
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”
Hosting WCF Services
• In Process• Windows Service• Web Service (IIS)• Windows Activation Services
– WAS allows you to host a service on any binding
WCF Architecture
What’s new in WCF 4?
• Simplified configuration• Simplified configuration• Simplified. Configuration.
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
Let’s Build a Service
• Less talk. More code.• Demo: BasicHttp Service
Let’s get some REST
• Drop the soap.• Demo: Add REST endpoint to existing service
Hands-free with Default Endpoints
• Look Ma’ No Configuration• Demo: Hosting BasicHttp, Net.Tcp, and REST in
one IIS Application
Where do you want to go today?
• Routing Service• Demo: Sports & Concert ticket services
(Created by Richard Seroter http://bit.ly/cdHp7U)
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
Questions/Discussion