SlideShare a Scribd company logo
Binu Bhasuran
Microsoft MVP Visual C#
Facebook http://facebook.com/codeno47
Blog http://proxdev.com/
Windows Communication Foundation (WCF) is
Microsoft’s unified programming model for
building service-oriented applications. It
enables developers to build secure, reliable,
transacted solutions that integrate across
platforms and interoperate with existing
investments.
Wcf development
When clients call the service, will they call one
method or more than one method?
If they call more than one method, how much time
elapses between method calls?
If they call more than one method, does the service
need to maintain state between calls?
Will clients call the service frequently or
infrequently?
How many clients at a time will call the service?
Wcf development
Wcf development
Rather than requiring different technologies for
different communication styles, WCF provides a
single unified solution
Reflecting the heterogeneity of most
enterprises, WCF is designed to interoperate
well with the non-WCF world.
There are two important aspects of this:
interoperability with platforms created by other
vendors, and interoperability with the Microsoft
technologies that preceded WCF.
WCF-based applications running in a different
process on the same Windows machine
WCF-based applications running on another
Windows machine
Applications built on other technologies, such
as Java EE application servers, that support
standard Web services. These applications can
be running on Windows machines or on
machines running other operating systems, such
as Sun Solaris, IBM z/OS, or Linux.
Wcf development
Wcf development
Share schema, not class. Unlike older
distributed object technologies, services
interact with their clients only through a well-
defined XML interface. Behaviors such as
passing complete classes, methods and all,
across service boundaries aren’t allowed.
Services are autonomous. A service and its clients
agree on the interface between them, but are
otherwise independent. They may be written in
different languages, use different runtime
environments, such as the CLR and the Java Virtual
Machine, execute on different operating systems,
and differ in other ways.
A service class, implemented in C# or Visual
Basic or another CLR-based language, that
implements one or more methods.
A host process in which the service runs.
One or more endpoints that allow clients to
access the service. All communication with a
WCF service happens via the service’s
endpoints.
Wcf development
A service class is a class like any other, but it has a
few additions. These additions allow the class’s
creator to define one or more contracts that this
class implements.
Each service class implements at least one service
contract, which defines the operations this service
exposes.
The class might also provide an explicit data
contract, which defines the data those operations
convey.
Every service class implements methods for its
clients to use.
The creator of the class determines which of its
methods are exposed as client-callable
operations by specifying that they are part of
some service contract.
To do this, a developer uses the WCF-defined
attribute ServiceContract.
using System.ServiceModel;
[ServiceContract]
class RentalReservations
{
[OperationContract]
public bool Check(int vehicleClass, int location,
string dates)
{
bool availability;
// code to check availability goes here
return availability;
}
[OperationContract]
public int Reserve(int vehicleClass, int location,
string dates)
{
int confirmationNumber;
// code to reserve rental car goes here
return confirmationNumber;
}
[OperationContract]
public bool Cancel(int confirmationNumber)
{
bool success;
// code to cancel reservation goes here
return success;
}
public int GetStats()
{
int numberOfReservations;
// code to get the current reservation count goes here
return numberOfReservations;
}
}
A WCF service class specifies a service contract
defining which of its methods are exposed to
clients of that service.
Each of those operations will typically convey some
data, which means that a service contract also
implies some kind of data contract describing the
information that will be exchanged.
In some cases, this data contract is defined
implicitly as part of the service contract.
using System.Runtime.Serialization;
[DataContract]
struct ReservationInfo {
[DataMember] public int vehicleClass;
[DataMember] public int location;
[DataMember] public string dates;
}
A WCF service class is typically compiled into a
library. By definition, all libraries need a host
Windows process to run in.
WCF provides two main options for hosting
libraries that implement services.
One is to use a host process created by either
Internet Information Services (IIS) or a related
technology called the Windows Activation Service
(WAS).
The other allows a service to be hosted in an
arbitrary process.
The simplest way to host a WCF service is to rely
on IIS or WAS. Both rely on the notion of a
virtual directory, which is just a shorter alias for
an actual directory path in the Windows file
system.
<%@Service language=c#
class="RentalReservations" %>
using System.ServiceModel;
public class ReservationHost
{
public static void Main()
{
ServiceHost s =
new ServiceHost(typeof(RentalReservations));
s.Open();
Console.Writeline("Press ENTER to end service");
Console.Readline();
s.Close();
}
}
An address indicating where this endpoint can be
found. Addresses are URLs that identify a machine
and a particular endpoint on that machine.
A binding determining how this endpoint can be
accessed. The binding determines what protocol
combination can be used to access this endpoint
along with other things, such as whether the
communication is reliable and what security
mechanisms can be used.
A contract name indicating which service contract
this WCF service class exposes via this endpoint. A
class marked with ServiceContract that implements
no explicit interfaces, such as RentalReservations in
the first example shown earlier, can expose only
one service contract.
In this case, all its endpoints will expose the same
contract. If a class explicitly implements two or
more interfaces marked with ServiceContract,
however, different endpoints can expose different
contracts, each defined by a different interface.
BasicHttpBinding: Conforms to the Web Services Interoperability Organization (WS-I) Basic Profiles 1.2
and 2.0, which specify SOAP over HTTP. This binding also supports other options, such as using HTTPS
as specified by the WS-I Basic Security Profile 1.1 and optimizing data transmission using MTOM.
WsHttpBinding: Uses SOAP over HTTP, like BasicProfileBinding, but also supports reliable message
transfer with WS-ReliableMessaging, security with WS-Security, and transactions with WS-
AtomicTransaction. This binding allows interoperability with other Web services implementations that
also support these specifications.
NetTcpBinding: Sends binary-encoded SOAP, including support for reliable message transfer, security,
and transactions, directly over TCP. This binding can be used only for WCF-to-WCF communication.
WebHttpBinding: Sends information directly over HTTP or HTTPS—no SOAP envelope is created. This
binding first appeared in the .NET Framework 3.5 version of WCF, and it’s the right choice for RESTful
communication and other situations where SOAP isn’t required. The binding offers three options for
representing content: text-based XML, JavaScript Object Notation (JSON), and opaque binary encoding.
NetNamedPipesBinding: Sends binary-encoded SOAP over named pipes. This binding is only usable for
WCF-to-WCF communication between processes on the same machine.
NetMsmqBinding: Sends binary-encoded SOAP over MSMQ, as described later in this paper. This
binding can only be used for WCF-to-WCF communication.
Wcf development
public static void Main()
{
ServiceHost s =
new ServiceHost(typeof(RentalReservations));
s.AddEndpoint(typeof(RentalReservations),
new BasicHttpBinding(),
"http://www.fabrikam.com/reservation/reserve.svc");
s.Open();
Console.Writeline("Press ENTER to end service");
Console.Readline();
s.Close();
}
<configuration>
<system.serviceModel>
<services>
<service type="RentalReservations,RentalApp">
<endpoint
contract="IReservations"
binding=”basicHttpBinding”
address=
"http://www.fabrikam.com/reservation/reserve.svc"/>
</service>
</services>
</system.serviceModel>
</configuration>
Wcf development
using System.ServiceModel;
public class RentalReservationsClient
{
public static void Main()
{
int confirmationNum;
RentalReservationsProxy p = new RentalReservationsProxy();
if (p.Check(1, 349, “9/30/09-10/10/09”)) {
confirmationNum = p.Reserve(1, 349, “9/30/09-10/10/09”);
}
p.Close();
}
}
Wcf development
http://msdn.microsoft.com/en-us/netframework/first-steps-with-wcf.aspx
Wcf development
Wcf development

More Related Content

What's hot (20)

PDF
Windows Communication Foundation (WCF)
Peter R. Egli
 
PPTX
WCF Introduction
Mohamed Zakarya Abdelgawad
 
PPT
Wcf architecture overview
Arbind Tiwari
 
PPT
WCF
Vishwa Mohan
 
PPT
WCF And ASMX Web Services
Manny Siddiqui MCS, MBA, PMP
 
PDF
Building RESTful Services with WCF 4.0
Saltmarch Media
 
PPT
Interoperability and Windows Communication Foundation (WCF) Overview
Jorgen Thelin
 
PPT
WCF
Duy Do Phan
 
PPTX
WCF for begineers
Dhananjay Kumar
 
PPTX
Introduction to WCF
ybbest
 
PPTX
Windows Communication Foundation (WCF) Service
Sj Lim
 
PPTX
Windows Communication Foundation (WCF) Best Practices
Orbit One - We create coherence
 
DOC
WCF tutorial
Abhi Arya
 
PPT
Session 1: The SOAP Story
ukdpe
 
PPTX
1. WCF Services - Exam 70-487
Bat Programmer
 
PPT
Web services, WCF services and Multi Threading with Windows Forms
Peter Gfader
 
PPTX
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio
 
DOCX
Top wcf interview questions
tongdang
 
PPT
Session 1 Shanon Richards-Exposing Data Using WCF
Code Mastery
 
PPTX
A presentation on WCF & REST
Santhu Rao
 
Windows Communication Foundation (WCF)
Peter R. Egli
 
WCF Introduction
Mohamed Zakarya Abdelgawad
 
Wcf architecture overview
Arbind Tiwari
 
WCF And ASMX Web Services
Manny Siddiqui MCS, MBA, PMP
 
Building RESTful Services with WCF 4.0
Saltmarch Media
 
Interoperability and Windows Communication Foundation (WCF) Overview
Jorgen Thelin
 
WCF for begineers
Dhananjay Kumar
 
Introduction to WCF
ybbest
 
Windows Communication Foundation (WCF) Service
Sj Lim
 
Windows Communication Foundation (WCF) Best Practices
Orbit One - We create coherence
 
WCF tutorial
Abhi Arya
 
Session 1: The SOAP Story
ukdpe
 
1. WCF Services - Exam 70-487
Bat Programmer
 
Web services, WCF services and Multi Threading with Windows Forms
Peter Gfader
 
Advancio, Inc. Academy: Web Sevices, WCF & SOAPUI
Advancio
 
Top wcf interview questions
tongdang
 
Session 1 Shanon Richards-Exposing Data Using WCF
Code Mastery
 
A presentation on WCF & REST
Santhu Rao
 

Viewers also liked (19)

PPT
WCF 4.0
Eyal Vardi
 
PPTX
Advanced WCF Workshop
Ido Flatow
 
PDF
Model view view model
Binu Bhasuran
 
PPTX
.Net platform an understanding
Binu Bhasuran
 
PPT
An Overview Of Wpf
Clint Edmonson
 
PPTX
Excellent rest met de web api
Maurice De Beijer [MVP]
 
PPS
Wcf Transaction Handling
Gaurav Arora
 
PPTX
Advanced WCF
Jack Spektor
 
PPTX
Treeview listview
Amandeep Kaur
 
PPTX
Wcf for the web developer
Codecamp Romania
 
PDF
Angularjs interview questions and answers
prasaddammalapati
 
DOCX
Angular.js interview questions
codeandyou forums
 
PPT
2 Day - WPF Training by Adil Mughal
Adil Mughal
 
PPT
Active x
Karthick Suresh
 
PPT
Threads c sharp
Karthick Suresh
 
PPTX
Ch 7 data binding
Madhuri Kavade
 
PPTX
ASP.NET Web API
habib_786
 
PPTX
WPF For Beginners - Learn in 3 days
Udaya Kumar
 
PPTX
The ASP.NET Web API for Beginners
Kevin Hazzard
 
WCF 4.0
Eyal Vardi
 
Advanced WCF Workshop
Ido Flatow
 
Model view view model
Binu Bhasuran
 
.Net platform an understanding
Binu Bhasuran
 
An Overview Of Wpf
Clint Edmonson
 
Excellent rest met de web api
Maurice De Beijer [MVP]
 
Wcf Transaction Handling
Gaurav Arora
 
Advanced WCF
Jack Spektor
 
Treeview listview
Amandeep Kaur
 
Wcf for the web developer
Codecamp Romania
 
Angularjs interview questions and answers
prasaddammalapati
 
Angular.js interview questions
codeandyou forums
 
2 Day - WPF Training by Adil Mughal
Adil Mughal
 
Active x
Karthick Suresh
 
Threads c sharp
Karthick Suresh
 
Ch 7 data binding
Madhuri Kavade
 
ASP.NET Web API
habib_786
 
WPF For Beginners - Learn in 3 days
Udaya Kumar
 
The ASP.NET Web API for Beginners
Kevin Hazzard
 
Ad

Similar to Wcf development (20)

PPS
WCF (Windows Communication Foundation_Unit_01)
Prashanth Shivakumar
 
PDF
SOA and WCF (Windows Communication Foundation) basics
Yaniv Pessach
 
PDF
WCF Interview Questions By Scholarhat PDF
Scholarhat
 
PPT
Dot Net Training Wcf Dot Net35
Subodh Pushpak
 
PPTX
web programming
sakthibalabalamuruga
 
PPTX
WCjffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff...
OmkarTalkar1
 
PPT
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Jason Townsend, MBA
 
PPT
Windows Communication Foundation
David Truxall
 
PPT
WINDOWS COMMUNICATION FOUNDATION
Deepika Chaudhary
 
PPT
WCFPresentation.ppt WCFPresentation.ppt WCFPresentation.ppt
yatakonakiran2
 
PPT
WFC #1
Hoangminh Nguyen
 
PPTX
Complete Architecture and Development Guide To Windows Communication Foundati...
Abdul Khan
 
PPT
Service Oriented Development With Windows Communication Foundation 2003
Jason Townsend, MBA
 
PPT
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Jason Townsend, MBA
 
PPT
DotNet_WindowsCommunicationFoundation.ppt
jeyap77755
 
PPTX
Windows Communication Foundation
Mahmoud Tolba
 
PPTX
Web services
aspnet123
 
PPTX
Windows Communication Foundation
Vijay Krishna Parasi
 
PPTX
Web service, wcf, web api
AbdeliDhankot
 
WCF (Windows Communication Foundation_Unit_01)
Prashanth Shivakumar
 
SOA and WCF (Windows Communication Foundation) basics
Yaniv Pessach
 
WCF Interview Questions By Scholarhat PDF
Scholarhat
 
Dot Net Training Wcf Dot Net35
Subodh Pushpak
 
web programming
sakthibalabalamuruga
 
WCjffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff...
OmkarTalkar1
 
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Jason Townsend, MBA
 
Windows Communication Foundation
David Truxall
 
WINDOWS COMMUNICATION FOUNDATION
Deepika Chaudhary
 
WCFPresentation.ppt WCFPresentation.ppt WCFPresentation.ppt
yatakonakiran2
 
Complete Architecture and Development Guide To Windows Communication Foundati...
Abdul Khan
 
Service Oriented Development With Windows Communication Foundation 2003
Jason Townsend, MBA
 
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Jason Townsend, MBA
 
DotNet_WindowsCommunicationFoundation.ppt
jeyap77755
 
Windows Communication Foundation
Mahmoud Tolba
 
Web services
aspnet123
 
Windows Communication Foundation
Vijay Krishna Parasi
 
Web service, wcf, web api
AbdeliDhankot
 
Ad

More from Binu Bhasuran (10)

PPTX
Asp.net web api
Binu Bhasuran
 
PPTX
Design patterns fast track
Binu Bhasuran
 
PDF
Microsoft Azure solutions - Whitepaper
Binu Bhasuran
 
PPTX
C# Basics
Binu Bhasuran
 
PPTX
Microsoft Managed Extensibility Framework
Binu Bhasuran
 
PPTX
Restful Services With WFC
Binu Bhasuran
 
PPTX
Design patterns
Binu Bhasuran
 
PDF
Biz talk
Binu Bhasuran
 
PDF
Moving from webservices to wcf services
Binu Bhasuran
 
PDF
Asynchronous programming in .net 4.5 with c#
Binu Bhasuran
 
Asp.net web api
Binu Bhasuran
 
Design patterns fast track
Binu Bhasuran
 
Microsoft Azure solutions - Whitepaper
Binu Bhasuran
 
C# Basics
Binu Bhasuran
 
Microsoft Managed Extensibility Framework
Binu Bhasuran
 
Restful Services With WFC
Binu Bhasuran
 
Design patterns
Binu Bhasuran
 
Biz talk
Binu Bhasuran
 
Moving from webservices to wcf services
Binu Bhasuran
 
Asynchronous programming in .net 4.5 with c#
Binu Bhasuran
 

Recently uploaded (20)

PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
PDF
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
Complete Network Protection with Real-Time Security
L4RGINDIA
 
PDF
July Patch Tuesday
Ivanti
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Predicting the unpredictable: re-engineering recommendation algorithms for fr...
Speck&Tech
 
Building Resilience with Digital Twins : Lessons from Korea
SANGHEE SHIN
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
Complete Network Protection with Real-Time Security
L4RGINDIA
 
July Patch Tuesday
Ivanti
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 

Wcf development

  • 1. Binu Bhasuran Microsoft MVP Visual C# Facebook http://facebook.com/codeno47 Blog http://proxdev.com/
  • 2. Windows Communication Foundation (WCF) is Microsoft’s unified programming model for building service-oriented applications. It enables developers to build secure, reliable, transacted solutions that integrate across platforms and interoperate with existing investments.
  • 4. When clients call the service, will they call one method or more than one method? If they call more than one method, how much time elapses between method calls? If they call more than one method, does the service need to maintain state between calls? Will clients call the service frequently or infrequently? How many clients at a time will call the service?
  • 7. Rather than requiring different technologies for different communication styles, WCF provides a single unified solution
  • 8. Reflecting the heterogeneity of most enterprises, WCF is designed to interoperate well with the non-WCF world. There are two important aspects of this: interoperability with platforms created by other vendors, and interoperability with the Microsoft technologies that preceded WCF.
  • 9. WCF-based applications running in a different process on the same Windows machine WCF-based applications running on another Windows machine
  • 10. Applications built on other technologies, such as Java EE application servers, that support standard Web services. These applications can be running on Windows machines or on machines running other operating systems, such as Sun Solaris, IBM z/OS, or Linux.
  • 13. Share schema, not class. Unlike older distributed object technologies, services interact with their clients only through a well- defined XML interface. Behaviors such as passing complete classes, methods and all, across service boundaries aren’t allowed.
  • 14. Services are autonomous. A service and its clients agree on the interface between them, but are otherwise independent. They may be written in different languages, use different runtime environments, such as the CLR and the Java Virtual Machine, execute on different operating systems, and differ in other ways.
  • 15. A service class, implemented in C# or Visual Basic or another CLR-based language, that implements one or more methods. A host process in which the service runs. One or more endpoints that allow clients to access the service. All communication with a WCF service happens via the service’s endpoints.
  • 17. A service class is a class like any other, but it has a few additions. These additions allow the class’s creator to define one or more contracts that this class implements. Each service class implements at least one service contract, which defines the operations this service exposes. The class might also provide an explicit data contract, which defines the data those operations convey.
  • 18. Every service class implements methods for its clients to use. The creator of the class determines which of its methods are exposed as client-callable operations by specifying that they are part of some service contract. To do this, a developer uses the WCF-defined attribute ServiceContract.
  • 19. using System.ServiceModel; [ServiceContract] class RentalReservations { [OperationContract] public bool Check(int vehicleClass, int location, string dates) { bool availability; // code to check availability goes here return availability; }
  • 20. [OperationContract] public int Reserve(int vehicleClass, int location, string dates) { int confirmationNumber; // code to reserve rental car goes here return confirmationNumber; } [OperationContract] public bool Cancel(int confirmationNumber) { bool success; // code to cancel reservation goes here return success; } public int GetStats() { int numberOfReservations; // code to get the current reservation count goes here return numberOfReservations; } }
  • 21. A WCF service class specifies a service contract defining which of its methods are exposed to clients of that service. Each of those operations will typically convey some data, which means that a service contract also implies some kind of data contract describing the information that will be exchanged. In some cases, this data contract is defined implicitly as part of the service contract.
  • 22. using System.Runtime.Serialization; [DataContract] struct ReservationInfo { [DataMember] public int vehicleClass; [DataMember] public int location; [DataMember] public string dates; }
  • 23. A WCF service class is typically compiled into a library. By definition, all libraries need a host Windows process to run in. WCF provides two main options for hosting libraries that implement services. One is to use a host process created by either Internet Information Services (IIS) or a related technology called the Windows Activation Service (WAS). The other allows a service to be hosted in an arbitrary process.
  • 24. The simplest way to host a WCF service is to rely on IIS or WAS. Both rely on the notion of a virtual directory, which is just a shorter alias for an actual directory path in the Windows file system. <%@Service language=c# class="RentalReservations" %>
  • 25. using System.ServiceModel; public class ReservationHost { public static void Main() { ServiceHost s = new ServiceHost(typeof(RentalReservations)); s.Open(); Console.Writeline("Press ENTER to end service"); Console.Readline(); s.Close(); } }
  • 26. An address indicating where this endpoint can be found. Addresses are URLs that identify a machine and a particular endpoint on that machine. A binding determining how this endpoint can be accessed. The binding determines what protocol combination can be used to access this endpoint along with other things, such as whether the communication is reliable and what security mechanisms can be used.
  • 27. A contract name indicating which service contract this WCF service class exposes via this endpoint. A class marked with ServiceContract that implements no explicit interfaces, such as RentalReservations in the first example shown earlier, can expose only one service contract. In this case, all its endpoints will expose the same contract. If a class explicitly implements two or more interfaces marked with ServiceContract, however, different endpoints can expose different contracts, each defined by a different interface.
  • 28. BasicHttpBinding: Conforms to the Web Services Interoperability Organization (WS-I) Basic Profiles 1.2 and 2.0, which specify SOAP over HTTP. This binding also supports other options, such as using HTTPS as specified by the WS-I Basic Security Profile 1.1 and optimizing data transmission using MTOM. WsHttpBinding: Uses SOAP over HTTP, like BasicProfileBinding, but also supports reliable message transfer with WS-ReliableMessaging, security with WS-Security, and transactions with WS- AtomicTransaction. This binding allows interoperability with other Web services implementations that also support these specifications. NetTcpBinding: Sends binary-encoded SOAP, including support for reliable message transfer, security, and transactions, directly over TCP. This binding can be used only for WCF-to-WCF communication. WebHttpBinding: Sends information directly over HTTP or HTTPS—no SOAP envelope is created. This binding first appeared in the .NET Framework 3.5 version of WCF, and it’s the right choice for RESTful communication and other situations where SOAP isn’t required. The binding offers three options for representing content: text-based XML, JavaScript Object Notation (JSON), and opaque binary encoding. NetNamedPipesBinding: Sends binary-encoded SOAP over named pipes. This binding is only usable for WCF-to-WCF communication between processes on the same machine. NetMsmqBinding: Sends binary-encoded SOAP over MSMQ, as described later in this paper. This binding can only be used for WCF-to-WCF communication.
  • 30. public static void Main() { ServiceHost s = new ServiceHost(typeof(RentalReservations)); s.AddEndpoint(typeof(RentalReservations), new BasicHttpBinding(), "http://www.fabrikam.com/reservation/reserve.svc"); s.Open(); Console.Writeline("Press ENTER to end service"); Console.Readline(); s.Close(); }
  • 33. using System.ServiceModel; public class RentalReservationsClient { public static void Main() { int confirmationNum; RentalReservationsProxy p = new RentalReservationsProxy(); if (p.Check(1, 349, “9/30/09-10/10/09”)) { confirmationNum = p.Reserve(1, 349, “9/30/09-10/10/09”); } p.Close(); } }