Windows Communication
Foundation (WCF)
Jim Fawcett
CSE775 –Distributed Objects
Spring 2007
References
Introducing WCF, David Chappell,
www.davidchappell.com/IntroducingWCFv1.2.1.pdf
–Using three diagrams from this reference
Programming Indigo, David Pallmann, Microsoft
Press, 2005
Pro WCF, Peiris and Mulder, Apress, 2007
What is WCF?
Integration of several Microsoft
Technologies:
–Web services (ASMX)
–Web service extensions (WSE)
WS-Security
WS-Reliability
WS-Addressing
–.Net Remoting
–MSMQ messaging
–COM+ Transactions
Chappell, ibid, pg 14
Channel Model
WCF supports three types of channel
activity:
–Asysnchronous one-way
–Request, wait for reply
–Full duplex two-way
Service Contract
<%@ ServiceHost Language=“C#”
Service=“MyService” %>
[ServiceContract]
public interface IMyService
{
[OperationContract]
string Hello( string name);
}
public class MyService : IMyService
{
public string Hello(string name)
{ return “Hello “ + name; }
}
Hosts
WCF Services can be hosted in:
–Internet Information Services (IIS)
Very similar to web services
–Windows services
Exposing windows service in style of WS
–Console and Winform applications
New style for socket like functionality
Other Topics
WCF Security
–Credentials and claims (evidence)
–Transport-level security
–Message-level security
–Federated security model
–Authorization
–Auditing
Reliable Messaging
ReliableSession enabled
–Implemented at the SOAP level not TCP packet
–Very similar to TCP functionality
–Messages not sent are held in a Transfer
Window cache
–Will have problems with large messages
MSMQ Binding
–Needs microsoft platforms on both ends
–Supports store and forward
Other Features
WCF Supports transactions
–ACID properties
Atomicity
–composite operations treated as a unit
Consistency
–Operations succeed or the system is returned to prior
state
Isolation
–Each transaction is independent and isolated from other
transactions
Durability
–If an operation succeeds it becomes durable, e.g.,
committed to a database or other persistant store