36.1. Windows Communication Foundation
Within the .NET Framework there are a variety of ways that you can communicate among applications, such as Remoting, Web Services, and a myriad of networking protocols. This has often frustrated application developers who not only had to pick the appropriate technology to use, but also had to write plumbing code that would allow their applications to use different technologies depending on the runtime environment. For example, when users are connected directly to the intranet it is better for them to use a Remoting or direct TCP/IP connection. However, this would cause security issues if done from outside the corporate firewall, in which case a secured web service would be preferable, despite being slower.
The Windows Communication Foundation (WCF) provides a uniform way to build messaging applications that are technology-agnostic. Clearly there will still be application requirements, such as that the message should be set asynchronously, or that a return value is expected, or that the message should or should not be part of a transaction. However, WCF abstracts the choice of technology away from the application so that it can be defined at runtime via configuration files.
Without going into too much detail, since one could write an entire book on WCF alone, there are three main components in a WCF service: the A(ddress), B(inding) and C(ontract) of WCF. In the context of a traditional web service, the address would be the web service URL, ...
Get Professional Visual Studio® 2008 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.