According to Microsoft's official explanation, WCF (formerly called "Indigo") is a unified framework for building and running service-oriented applications using managed code. It enables developers to build a secure, trusted, and transactional solution across platforms, and to be compatible with existing systems. WCF is a set of developers for Microsoft Distributed Application Development. It integrates all technologies related to distributed systems on the. NET platform, such as. Net remoting, asmx, WSE, and MSMQ. In terms of the scope of communication (communiation), it can be cross-process, cross-machine, cross-subnet, enterprise network, or Internet; in terms of host programs, it can be ASP. net, EXE, WPF, Windows Forms, NT Service, COM + as the host (host ). The protocols supported by WCF include TCP, HTTP, cross-process, and custom. Security modes include SAML, Kerberos, X509, user/password, and custom. That is to say, it is easy to develop a SOA-based Distributed System under the WCF framework. Microsoft includes all the technical elements related to this, and has mastered the concept, it is equivalent to mastering the key to open the SOA door.
WCF is built on. NET Framework 2.0. The official version should be release as the core part of Windows Vista. However, this does not mean that WCF can only run under Windows Vista. If winfx runtime components is installed, it can still be used in Windows XP and Windows 2003 operating systems. Visual Studio 2005 does not contain WCF. However, after winfx runtime components is installed, you can develop and create a WCF program in Visual Studio 2005.
Currently the latest WCF version is February 2006 CTP, download page is: http://www.microsoft.com/downloads/details.aspx? FamilyId = F51C4D96-9AEA-474F-86D3-172BFA3B828B &; displaylang = en. Use wcf.exe to use a few related tools, such as svcutil.exe, so you also need to download the WinFX Runtime Components SDK, its download page is: http://www.microsoft.com/downloads/details.aspx? FamilyId = 9BE1FC7F-0542-47F1-88DD-61E3EF88C402 &; displaylang = en. You can select Network or local installation to install the SDK. For local installation, the file size is about 1 GB, which is an ISO file. After the SDK is installed, there is a microsoft SDK directory under the program files directory.
WCF is Microsoft's key product, so it also launched a special official website (http://windowscommunication.net), the site has the latest WCF news release, as well as introduction to the WCF technical documentation and sample code.
Ii. Benefits of WCF
In the article Introducing Windows Communication Foundation prepared by David Chappell, a fresh example is provided to illustrate the advantages of WCF. Suppose we want to develop a new application for a car rental company for Car Rental booking service. The taxi booking service will be accessed by a variety of applications, including Call Center, J2EE-based taxi booking service and Partner Application ),:
From a functional perspective, WCF can be regarded as a union of asmx,. Net remoting, Enterprise Service, WSE, MSMQ, and other technologies. (Note: This statement only applies to functions. In fact, WCF is far from simple union. It is a service-oriented product and has changed the normal development mode .) Therefore, for the above example of the Auto Booking Service System, the use of WCF can meet the needs of security, trustworthiness, interoperability, cross-platform communication, and so on. Developers no longer need to learn about. Net remoting, asmx, and other technologies separately.
In summary, WCF has the following advantages:
1. Uniformity
As described above, WCF is an integration of asmx,. Net remoting, Enterprise Service, WSE, MSMQ, and other technologies. Since WCF is fully written by the managed code, developing the WCF application and developing other.. NET applications do not have much difference. We can still use WCF to create service-oriented applications like creating object-oriented applications. Http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf01.gif
Http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf03.gif 2. Interoperability
Since the most basic communication mechanism of WCF is soap, this ensures the interoperability between systems, even when different contexts are run. This communication can be Based on. NET to. net, as shown in:
Cross-process, cross-machine, or cross-platform communication is supported as long as standard web services, such as J2EE application servers (such as WebSphere and WebLogic) are supported ). Applications can run in Windows or other operating systems, such as Sun Solaris, hp unix, and Linux. As shown in:
3. Security and trustworthiness
WS-Security, WS-trust, and WS-secureconversation are added to soap messages for user authentication, data integrity verification, data privacy, and other security factors.
WS-ReliableMessaging is added to the SOAP header to allow trusted end-to-end communication. The SOAP-based information exchange based on WS-Coordination and WS-AtomicTransaction supports two-phase commit transactions ). The various WS-policies mentioned in the http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf04.gif are supported in WCF. For Messaging, SOAP is the basic protocol of Web Service. It contains the header and body ). In the Message header, WS-Addressing is defined to locate the address information of the SOAP Message, and MTOM (Message Transmission Optimization Mechanism, Message Transmission Optimization Mechanism) is also included ). : Http://wayfarer.cnblogs.com/images/cnblogs_com/wayfarer/wcf/wcf05.gif
4. Compatibility
WCF fully considers compatibility with old systems. Installing WCF does not affect existing technologies such as ASMX and. Net Remoting. Even though both of them use SOAP, applications developed based on WCF can still directly interact with ASMX.
> [Original] My WCF journey (1): create a simple WCF Program (Artech)
> [Original] My WCF journey (2): Endpoint Overview (Artech)
> [Original] My WCF journey (3): Implement Bi-ctional al Communication (Artech) in WCF)
> [Original] My WCF journey (4): Serialization in WCF-Part I (Artech)
> [Original] My WCF journey (4): Serialization in WCF-Part II (Artech)
> [Original] My WCF journey (5): A combination of Service-Oriented Architecture (SOA) and Object-Oriented Programming (OOP) -- How to Implement Overloading of Service Contract) (Artech)
> [Original] My WCF journey (6): Why TimeoutException occurs when Duplex Service is called in Winform Application (Artech)
> [Original] My WCF journey (7): A combination of Service-Oriented Architecture (SOA) and Object-Oriented Programming (OOP) -- How to Implement the inheritance of Service Contract (Artech)
> [Original] My WCF journey (8): Session and Instancing Management (Artech) in WCF)
> [Original] My WCF journey (9): How to Use tcpTrace in WCF for Soap Trace (Artech)
> [Original] My WCF journey (10): How to perform Exception Handling (Artech) in WCF)
> [Original] My WCF journey (11): Let's talk about two-way communication in WCF-Http-based two-way communication V. S. TCP-based two-way communication (Artech)
> [Original] My WCF journey (12): Using MSMQ for Reliable Messaging (Artech)
> [Original] My WCF journey (13): Creating MSMQ-based Responsive Service (Artech)
From: http://www.cnblogs.com/series/3/
======================================
Index of a series of articles from theory to practice in WCF
From theory to practice (1): unveil the secrets
From theory to practice in WCF (2): a decisive battle
From theory to practice in WCF (3): black contract in the No. 8 pawnshop
From theory to practice (4): Where is the path
From theory to practice (5): detailed explanation of Binding
From theory to practice (6): WCF Architecture
From theory to practice (7): message exchange mode
From theory to practice (8): event broadcast
From theory to practice (9): instance mode and object Lifecycle
From theory to practice (10): Exception Handling
From theory to practice (11)-asynchronous
From theory to practice (12): transactions
From theory to practice in WCF (13): Transaction Voting
From theory to practice (14): WCF solution Template
From theory to practice (15): responding to changes
From theory to practice (16): heavy-load operations (with video + ppt + Source Code)
From theory to practice in WCF (17): large deviation from OO (with video + ppt + Source Code)
Via: http://kb.cnblogs.com/list/43708/
==========================================
Getting started with WCF on MSDN
Content of this section
How to: Define a Windows Communication Foundation Service Agreement
Describes how to use a user-defined interface to create a WCF protocol. Agreements are used to define the functions provided by a service to the outside world and describe how to communicate with potential users.
How to: implement the Windows Communication Foundation Service Agreement
Describes how to implement a service agreement. After creating an agreement, you must implement the functions provided by the Service in a class inherited from the interface of the definition agreement.
How to: Host and run Basic Windows Communication Foundation services
Describes how to configure the service endpoint in the code, and how to host and start the service in the console application. To activate the service, you must configure and host the service in the runtime environment. This environment creates a service and controls its context and lifecycle.
How to: create a Windows Communication Foundation Client
Describes how to retrieve metadata used to create a WCF client from the WCF Service. This process uses ServiceModel Metadata Utility Tool (Svcutil.exe) provided by WCF ).
How to: configure the Basic Windows Communication Foundation Client
Describes how to configure the basic client created using ServiceModel Metadata Utility Tool (Svcutil.exe. To configure the client, you must specify the endpoint used by the client to access the service.
How to: Use the Windows Communication Foundation Client
Describes how to use the WCF client proxy generated by ServiceModel Metadata Utility Tool (Svcutil.exe) to call the functions provided by the Service.