What Is Windows Communication Foundation - WCF (2024)

  • Article

Windows Communication Foundation (WCF) is a framework for building service-oriented applications. Using WCF, you can send data as asynchronous messages from one service endpoint to another. A service endpoint can be part of a continuously available service hosted by IIS, or it can be a service hosted in an application. An endpoint can be a client of a service that requests data from a service endpoint. The messages can be as simple as a single character or word sent as XML, or as complex as a stream of binary data. A few sample scenarios include:

  • A secure service to process business transactions.

  • A service that supplies current data to others, such as a traffic report or other monitoring service.

  • A chat service that allows two people to communicate or exchange data in real time.

  • A dashboard application that polls one or more services for data and presents it in a logical presentation.

  • Exposing a workflow implemented using Windows Workflow Foundation as a WCF service.

While creating such applications was possible prior to the existence of WCF, WCF makes the development of endpoints easier than ever. In summary, WCF is designed to offer a manageable approach to creating Web services and Web service clients.

gRPC as an alternative to WCF

gRPC is a modern RPC framework that is a popular alternative to WCF. gRPC is built on top of HTTP/2, which provides a number of advantages over WCF, including:

  • Performance: gRPC is much more efficient than WCF, especially for long-running connections.
  • Scalability: gRPC is designed to scale to large numbers of clients and servers.
  • Security: gRPC supports a variety of security mechanisms, including TLS and authentication.
  • Cross-platform: gRPC is platform-neutral and can be used with a variety of programming languages.

For more information on developing or migrating WCF apps to gRPC, see:

  • Why we recommend gRPC for WCF developers
  • Comparing WCF to gRPC
  • Introduction to gRPC for WCF developers

Features of WCF

WCF includes the following set of features. For more information, see WCF Feature Details.

  • Service Orientation

    One consequence of using WS standards is that WCF enables you to create service oriented applications. Service-oriented architecture (SOA) is the reliance on Web services to send and receive data. The services have the general advantage of being loosely-coupled instead of hard-coded from one application to another. A loosely-coupled relationship implies that any client created on any platform can connect to any service as long as the essential contracts are met.

  • Interoperability

    WCF implements modern industry standards for Web service interoperability. For more information about the supported standards, see Interoperability and Integration.

  • Multiple Message Patterns

    Messages are exchanged in one of several patterns. The most common pattern is the request/reply pattern, where one endpoint requests data from a second endpoint. The second endpoint replies. There are other patterns such as a one-way message in which a single endpoint sends a message without any expectation of a reply. A more complex pattern is the duplex exchange pattern where two endpoints establish a connection and send data back and forth, similar to an instant messaging program. For more information about how to implement different message exchange patterns using WCF see Contracts.

  • Service Metadata

    WCF supports publishing service metadata using formats specified in industry standards such as WSDL, XML Schema and WS-Policy. This metadata can be used to automatically generate and configure clients for accessing WCF services. Metadata can be published over HTTP and HTTPS or using the Web Service Metadata Exchange standard. For more information, see Metadata.

  • Data Contracts

    Because WCF is built using the .NET Framework, it also includes code-friendly methods of supplying the contracts you want to enforce. One of the universal types of contracts is the data contract. In essence, as you code your service using Visual C# or Visual Basic, the easiest way to handle data is by creating classes that represent a data entity with properties that belong to the data entity. WCF includes a comprehensive system for working with data in this easy manner. Once you have created the classes that represent data, your service automatically generates the metadata that allows clients to comply with the data types you have designed. For more information, see Using Data Contracts.

  • Security

    Messages can be encrypted to protect privacy and you can require users to authenticate themselves before being allowed to receive messages. Security can be implemented using well-known standards such as SSL or WS-SecureConversation. For more information, see Security.

  • Multiple Transports and Encodings

    Messages can be sent on any of several built-in transport protocols and encodings. The most common protocol and encoding is to send text encoded SOAP messages using the HyperText Transfer Protocol (HTTP) for use on the World Wide Web. Alternatively, WCF allows you to send messages over TCP, named pipes, or MSMQ. These messages can be encoded as text or using an optimized binary format. Binary data can be sent efficiently using the MTOM standard. If none of the provided transports or encodings suit your needs you can create your own custom transport or encoding. For more information about transports and encodings supported by WCF see Transports.

  • Reliable and Queued Messages

    WCF supports reliable message exchange using reliable sessions implemented over WS-Reliable Messaging and using MSMQ. For more information about reliable and queued messaging support in WCF see Queues and Reliable Sessions.

  • Durable Messages

    A durable message is one that is never lost due to a disruption in the communication. The messages in a durable message pattern are always saved to a database. If a disruption occurs, the database allows you to resume the message exchange when the connection is restored. You can also create a durable message using the Windows Workflow Foundation (WF). For more information, see Workflow Services.

  • Transactions

    WCF also supports transactions using one of three transaction models: WS-AtomicTransactions, the APIs in the System.Transactions namespace, and Microsoft Distributed Transaction Coordinator. For more information about transaction support in WCF see Transactions.

  • AJAX and REST Support

    REST is an example of an evolving Web 2.0 technology. WCF can be configured to process "plain" XML data that is not wrapped in a SOAP envelope. WCF can also be extended to support specific XML formats, such as ATOM (a popular RSS standard), and even non-XML formats, such as JavaScript Object Notation (JSON).

  • Extensibility

    The WCF architecture has a number of extensibility points. If extra capability is required, there are a number of entry points that allow you to customize the behavior of a service. For more information about available extensibility points see Extending WCF.

WCF Integration with Other Microsoft Technologies

WCF is a flexible platform. Because of this extreme flexibility, WCF is also used in several other Microsoft products. By understanding the basics of WCF, you have an immediate advantage if you also use any of these products.

The first technology to pair with WCF was the Windows Workflow Foundation (WF). Workflows simplify application development by encapsulating steps in the workflow as "activities." In the first version of Windows Workflow Foundation, a developer had to create a host for the workflow. The next version of Windows Workflow Foundation was integrated with WCF. That allowed any workflow to be easily hosted in a WCF service. You can do this by automatically choosing the WF/WCF project type in Visual Studio 2012 or later.

Microsoft BizTalk Server R2 also utilizes WCF as a communication technology. BizTalk is designed to receive and transform data from one standardized format to another. Messages must be delivered to its central message box where the message can be transformed using either a strict mapping or by using one of the BizTalk features such as its workflow engine. BizTalk can now use the WCF Line of Business (LOB) adapter to deliver messages to the message box.

The hosting features of Windows Server AppFabric application server are specifically designed for deploying and managing applications that use WCF for communication. The hosting features include rich tooling and configuration options specifically designed for WCF-enabled applications.

See also

  • System.ServiceModel
  • Fundamental Windows Communication Foundation Concepts
  • Windows Communication Foundation Architecture
  • Guidelines and Best Practices
  • Getting Started Tutorial
  • Guide to the Documentation
  • Basic WCF Programming
  • Windows Communication Foundation Samples
What Is Windows Communication Foundation - WCF (2024)

References

Top Articles
Easy Gluten Free Pie Crust Recipe
Classic Lebkuchen Recipe - German Christmas Cookies [EASY ❤]
Beach Umbrella Home Depot
Muckleshoot Bingo Calendar
Jacob Chapel Live Stream
The Land Book 9 Release Date 2023
Configuring Fail2ban with Traefik
Eggy Car Unblocked - Chrome Web Store
What is 2/3 as a decimal? (Convert 2/3 to decimal)
Sound Of Freedom Showtimes Near Sperry's Moviehouse Holland
Black Ballerina Michaela Mabinty DePrince morreu aos 29 anos
Aly Raisman Nipple
Splunk Append Search
Machiavelli ‑ The Prince, Quotes & The Art of War
To Give A Guarantee Promise Figgerits
Smile 2022 Showtimes Near Savoy 16
Rainbird E4C Manual
Kay Hansen blowj*b
Isaimini 2023: Tamil Movies Download HD Hollywood
2012 Buick Lacrosse Serpentine Belt Diagram
Vioc Credit Card Charge
Satta King Peshawar
855-392-7812
222 US Dollars to Euros - 222 USD to EUR Exchange Rate
02080797947
Jessica Renee Johnson Update 2023
Acbl Homeport
Marketwatch Com Game
Coors Field Seats In The Shade
Acnh Picnic Table
Spn 102 Fmi 16 Dd15
Marukai Honolulu Weekly Ads
Chicken Coop Brookhaven Ms
Landwatch Ms
Ralph Macchio Conservative
Dki Brain Teaser
Missing 2023 Showtimes Near Golden Ticket Cinemas Dubois 5
Super Restore Vs Prayer Potion
Witchwood Icon
Helixnet Rfums
600 Aviator Court Vandalia Oh 45377
Denny's Ace Hardware Duluth Mn
Top Dog Boarding in The Hague with Best Prices on PetBacker
Delta Incoming Flights Msp
Metro By T Mobile Sign In
Cb2 South Coast Plaza
Centurylink Outage Map Mesa Az
Jami Lafay Gofundme
Nine Star Hegemon Body Art
Gulfstream Park Entries And Results
O2 Fitness West Ashley Photos
Latest Posts
Article information

Author: Nathanial Hackett

Last Updated:

Views: 5824

Rating: 4.1 / 5 (72 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Nathanial Hackett

Birthday: 1997-10-09

Address: Apt. 935 264 Abshire Canyon, South Nerissachester, NM 01800

Phone: +9752624861224

Job: Forward Technology Assistant

Hobby: Listening to music, Shopping, Vacation, Baton twirling, Flower arranging, Blacksmithing, Do it yourself

Introduction: My name is Nathanial Hackett, I am a lovely, curious, smiling, lively, thoughtful, courageous, lively person who loves writing and wants to share my knowledge and understanding with you.