Was ist die Windows Communication Foundation?What Is Windows Communication Foundation

Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) ist ein Framework zum Erstellen von dienstorientierten Anwendungen.is a framework for building service-oriented applications. Mit WCFWCFkönnen Sie Daten als asynchrone Nachrichten von einem Dienstendpunkt an einen anderen senden.Using WCFWCF, you can send data as asynchronous messages from one service endpoint to another. Ein Dienstendpunkt kann Teil eines fortwährend verfügbaren von IIS gehosteten Diensts oder ein in einer Anwendung gehosteter Dienst sein.A service endpoint can be part of a continuously available service hosted by IIS, or it can be a service hosted in an application. Ein Endpunkt kann ein Client eines Diensts sein, der Daten von einem Dienstendpunkt anfordert.An endpoint can be a client of a service that requests data from a service endpoint. Die Nachrichten können einfach aus einem als XML gesendeten einzelnen Zeichen oder Wort oder aus einem komplexen Strom binärer Daten bestehen.The messages can be as simple as a single character or word sent as XML, or as complex as a stream of binary data. Einige Beispielszenarios enthalten Folgendes:A few sample scenarios include:

  • Ein sicherer Dienst zur Verarbeitung von Geschäftstransaktionen.A secure service to process business transactions.

  • Ein Dienst, der aktuelle Daten für andere Dienste bereitstellt, z. B. für Netzwerkverkehrberichtsdienste oder andere Überwachungsdienste.A service that supplies current data to others, such as a traffic report or other monitoring service.

  • Ein Chatdienst, mit dem zwei Personen in Echtzeit kommunizieren oder Daten austauschen können.A chat service that allows two people to communicate or exchange data in real time.

  • Eine Dashboardanwendung, die Daten von einem oder mehreren Diensten abfragt und logisch darstellt.A dashboard application that polls one or more services for data and presents it in a logical presentation.

  • Macht einen mit Windows Workflow Foundation implementierten Workflow als WCF-Dienst verfügbar.Exposing a workflow implemented using Windows Workflow Foundation as a WCF service.

  • Eine Silverlight-Anwendung zum Abfragen aktueller Datenfeeds von einem Dienst.A Silverlight application to poll a service for the latest data feeds.

Zwar konnten solche Anwendung bereits vor WCFWCFerstellt werden, allerdings ist mit WCFWCF die Entwicklung von Endpunkten einfacher als je zuvor.While creating such applications was possible prior to the existence of WCFWCF, WCFWCF makes the development of endpoints easier than ever. WCFWCF wurde im Grunde entwickelt, um Benutzern einen leichten Zugang zur Entwicklung von Webdiensten und Webdienstclients zu ermöglichen.In summary, WCFWCF is designed to offer a manageable approach to creating Web services and Web service clients.

Funktionen von WCFFeatures of WCF

WCFWCF enthält die folgenden Funktionen.includes the following set of features. Weitere Informationen finden Sie unterFor more information, see WCF Feature Details. WCF Feature Details.

  • DienstausrichtungService Orientation

    Ein Vorteil der Verwendung des WS-Standards ist die Möglichkeit, mit WCFWCF dienstorientierte Anwendungen zu erstellen.One consequence of using WS standards is that WCFWCF enables you to create service oriented applications. Dienstorientierte Architektur (SOA) wird von Webdiensten für das Senden und Empfangen von Daten verwendet.Service-oriented architecture (SOA) is the reliance on Web services to send and receive data. Der allgemeine Vorteil der Dienste ist, dass sie untereinander lose verknüpft und nicht hartcodiert sind.The services have the general advantage of being loosely-coupled instead of hard-coded from one application to another. Eine lose verknüpfte Beziehung impliziert, dass ein beliebiger Client, der auf einer beliebigen Plattform erstellt wurde, mit einem beliebigen Dienst verbunden werden kann, so lange die wesentlichen Vereinbarungen erfüllt sind.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.

  • InteroperabilitätInteroperability

    WCFWCF implementiert aktuelle Industriestandards für die Webdienstinteroperabilität.implements modern industry standards for Web service interoperability. Weitere Informationen finden Sie unterFor more information about zu den unterstützten Standards finden Sie unter Interoperability and Integration. the supported standards, see Interoperability and Integration.

  • Mehrere NachrichtenmusterMultiple Message Patterns

    Nachrichten werden in einem von mehreren Mustern ausgetauscht.Messages are exchanged in one of several patterns. Das gängigste Muster ist das Anforderung-Antwort-Muster, bei dem ein Endpunkt Daten von einem zweiten Endpunkt abfragt.The most common pattern is the request/reply pattern, where one endpoint requests data from a second endpoint. Der zweite Endpunkt antwortet.The second endpoint replies. Es gibt noch weitere Muster, wie z. B. eine unidirektionale Nachricht, bei der ein einzelner Endpunkt eine Nachricht ohne Erwartung einer Antwort sendet.There are other patterns such as a one-way message in which a single endpoint sends a message without any expectation of a reply. Ein komplexeres Muster ist das Duplex-Nachrichtenaustauschmuster, bei dem zwei Endpunkte eine Verbindung herstellen und sich wie bei einem Programm für Sofortnachrichten gegenseitig Daten senden.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. Weitere Informationen finden Sie unterFor more information about zum Implementieren verschiedener Nachrichtenaustauschmuster mit WCFWCF finden Sie unter Contracts. how to implement different message exchange patterns using WCFWCF see Contracts.

  • DienstmetadatenService Metadata

    WCFWCF unterstützt das Veröffentlichen von Metadaten in den Formaten der Branchenstandards, z. B. WSDL, XML-Schema und WS-Richtlinie.supports publishing service metadata using formats specified in industry standards such as WSDL, XML Schema and WS-Policy. Diese Metadaten können verwendet werden, um Clients für den Zugriff auf WCFWCF -Dienste automatisch zu erstellen und zu konfigurieren.This metadata can be used to automatically generate and configure clients for accessing WCFWCF services. Metadaten können per HTTP und HTTPS oder mit dem Austauschstandard für Webdienstmetadaten veröffentlicht werden.Metadata can be published over HTTP and HTTPS or using the Web Service Metadata Exchange standard. Weitere Informationen finden Sie unterFor more information, see Metadata. Metadata.

  • DatenverträgeData Contracts

    Da WCFWCF mit .NET Framework.NET Frameworkerstellt wird, enthält es auch codefreundliche Methoden für die Bereitstellung der Verträge, die erzwungen werden sollen.Because WCFWCF is built using the .NET Framework.NET Framework, it also includes code-friendly methods of supplying the contracts you want to enforce. Einer der universalen Vertragstypen ist der Datenvertrag.One of the universal types of contracts is the data contract. Beim Codieren des Diensts mit Visual C# oder Visual Basic lassen sich Daten am einfachsten durch das Erstellen von Klassen verwalten, die eine Datenentität mit zur Datenentität gehörenden Eigenschaften darstellen.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. WCFWCF enthält ein umfassendes System für das einfache Arbeiten mit Daten. includes a comprehensive system for working with data in this easy manner. Nachdem Sie die Klassen erstellt haben, die Daten darstellen, werden vom Dienst automatisch die Metadaten erstellt, mit denen Clients die von Ihnen entworfenen Datentypen verarbeiten können.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. Weitere Informationen finden Sie unterFor more information, see Using Data Contracts Using Data Contracts

  • SicherheitSecurity

    Nachrichten können zu Datenschutzzwecken verschlüsselt werden, und die Benutzer können zur Authentifizierung aufgefordert werden, bevor Sie Berechtigung zum Empfangen von Nachrichten erhalten.Messages can be encrypted to protect privacy and you can require users to authenticate themselves before being allowed to receive messages. Sicherheit kann mit bekannten Standards wie SSL oder WS-SecureConversation implementiert werden.Security can be implemented using well-known standards such as SSL or WS-SecureConversation. Weitere Informationen finden Sie unterFor more information, see Sicherheit. Security.

  • Mehrfache Transporte und CodierungenMultiple Transports and Encodings

    Nachrichten können mithilfe der zahlreichen integrierten Transportprotokolle und -codierungen versendet werden.Messages can be sent on any of several built-in transport protocols and encodings. Die gängigste Protokoll- und Codierungsmethode ist das Senden von textcodierten SOAP-Nachrichten mit dem HyperText Transfer Protocol (HTTP) zur Verwendung im World Wide Web.The most common protocol and encoding is to send text encoded SOAP messages using is the HyperText Transfer Protocol (HTTP) for use on the World Wide Web. Alternativ können Sie mit WCFWCF Nachrichten über TCP, Named Pipes oder MSMQ senden.Alternatively, WCFWCF allows you to send messages over TCP, named pipes, or MSMQ. Diese Nachrichten können als Text oder mit einem optimierten Binärformat codiert werden.These messages can be encoded as text or using an optimized binary format. Binärdaten können mit dem MTOM-Standard effizient gesendet werden.Binary data can be sent efficiently using the MTOM standard. Wenn keine der bereitgestellten Transport- oder Codierungsmöglichkeiten Ihren Erfordernissen entspricht, können Sie eine benutzerdefinierte Transport- oder Codierungsmöglichkeit erstellen.If none of the provided transports or encodings suit your needs you can create your own custom transport or encoding. Weitere Informationen finden Sie unterFor more information about indem Sie unterstützten Transporten und Codierungen WCFWCF finden Sie unter Transporte. transports and encodings supported by WCFWCF see Transports.

  • Zuverlässige Nachrichtensendung und Nachrichten in WarteschlangenReliable and Queued Messages

    WCFWCF unterstützt zuverlässige Nachrichtenaustausch mit zuverlässigen Sitzungen über WS-Reliable Messaging implementiert und mithilfe von MSMQ.supports reliable message exchange using reliable sessions implemented over WS-Reliable Messaging and using MSMQ. Weitere Informationen finden Sie unterFor more information about zur Unterstützung von zuverlässigen Nachrichten und Nachrichten in Warteschlangen in WCFWCF finden Sie unter Queues and Reliable Sessions. reliable and queued messaging support in WCFWCF see Queues and Reliable Sessions.

  • Permanente NachrichtenDurable Messages

    Bei einer permanenten Nachricht handelt es sich um eine Nachricht, die niemals aufgrund einer Unterbrechung der Kommunikation verloren geht.A durable message is one that is never lost due to a disruption in the communication. Die Nachrichten in einem Muster für permanente Nachrichten werden immer in einer Datenbank gespeichert.The messages in a durable message pattern are always saved to a database. Wird die Verbindung unterbrochen, kann mit der Datenbank der Nachrichtenaustausch nach der erneuten Herstellung der Verbindung fortgesetzt werden.If a disruption occurs, the database allows you to resume the message exchange when the connection is restored. Sie können eine permanente Nachricht auch mit Windows Workflow Foundation (WF)Windows Workflow Foundation (WF)erstellen.You can also create a durable message using the Windows Workflow Foundation (WF)Windows Workflow Foundation (WF). Weitere Informationen finden Sie unterFor more information, see Workflow Services. Workflow Services.

  • TransaktionenTransactions

    WCF unterstützt auch Transaktionen, bei denen eines der drei Transaktionsmodelle verwendet wird: WS-AtomicTtransactions, die APIs im System.Transactions -Namespace und Microsoft Distributed Transaction Coordinator.WCF also supports transactions using one of three transaction models: WS-AtomicTtransactions, the APIs in the System.Transactions namespace, and Microsoft Distributed Transaction Coordinator. Weitere Informationen finden Sie unterFor more information about zur Transaktionsunterstützung in WCFWCF finden Sie unter Transaktionen. transaction support in WCFWCF see Transactions.

  • Unterstützung für AJAX und RESTAJAX and REST Support

    REST ist ein Beispiel für eine sich weiterentwickelnde Web 2.0-Technologie.REST is an example of an evolving Web 2.0 technology. WCFWCF kann für die Verarbeitung einfacher XML-Daten, die nicht von einem SOAP-Umschlag umgeben sind, konfiguriert werden. can be configured to process "plain" XML data that is not wrapped in a SOAP envelope. WCFWCF kann außerdem für die Unterstützung spezifischer XML-Formate, z. B. ATOM (ein verbreiteter RSS-Standard), und sogar für die Unterstützung von Nicht-XML-Formaten, z. B. JavaScript Object Notation (JSON), erweitert werden. 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).

  • ErweiterungenExtensibility

    Die WCFWCF -Architektur verfügt über eine Reihe von Erweiterungspunkten.The WCFWCF architecture has a number of extensibility points. Wenn zusätzliche Fähigkeiten benötigt werden, können Sie an verschiedenen Punkten ansetzen, um das Verhalten eines Diensts anzupassen.If extra capability is required, there are a number of entry points that allow you to customize the behavior of a service. Weitere Informationen finden Sie unterFor more information about verfügbaren Erweiterungspunkten finden Sie unter Erweitern von WCF. available extensibility points see Extending WCF.

WCF-Integration mit anderen Microsoft-TechnologienWCF Integration with Other Microsoft Technologies

WCFWCF ist eine flexible Plattform.is a flexible platform. Aufgrund der hohen Flexibilität wird WCFWCF auch in zahlreichen anderen Produkten von Microsoft eingesetzt.Because of this extreme flexibility, WCFWCF is also used in several other Microsoft products. Durch Kenntnisse der Grundlagen von WCFWCFbesitzen Sie einen unmittelbaren Vorteil, wenn Sie auch eines dieser Produkte verwenden.By understanding the basics of WCFWCF, you have an immediate advantage if you also use any of these products.

Die erste Technologie, die mit WCFWCF kombiniert wurde, war Windows Workflow Foundation (WF).The first technology to pair with WCFWCF was the Windows Workflow Foundation (WF). Workflows vereinfachen die Anwendungsentwicklung durch die kapselnden Schritte im Workflow als "Aktivitäten".Workflows simplify application development by encapsulating steps in the workflow as "activities." In der ersten Version von Windows Workflow FoundationWindows Workflow Foundationmusste ein Entwickler einen Host für den Workflow erstellen.In the first version of Windows Workflow FoundationWindows Workflow Foundation, a developer had to create a host for the workflow. Die darauffolgende Version von Windows Workflow FoundationWindows Workflow Foundation war mit WCFWCFkombiniert.The next version of Windows Workflow FoundationWindows Workflow Foundation was integrated with WCFWCF. Ein beliebiger Workflow kann seither leicht in einem WCFWCF -Dienst gehostet werden. Wählen Sie hierzu in Visual Studio 2012Visual Studio 2012einfach WF/WCF als Projekttyp aus.That allowed any workflow to be easily hosted in a WCFWCF service; you can do this by automatically choosing the WF/WCF a project type in Visual Studio 2012Visual Studio 2012.

Microsoft BizTalk Server R2 nutzt u. a. ebenfalls WCFWCF als Kommunikationstechnologie.Microsoft BizTalk Server R2 also utilizes WCFWCF as a communication technology. BizTalk wurde zum Empfangen und Umwandeln von Daten aus einem Standardformat in ein anderes entwickelt.BizTalk is designed to receive and transform data from one standardized format to another. Nachrichten müssen an den zentralen Posteingang der Anwendung gesendet werden, wo sie entweder per strikter Zuordnung oder mit einer der BizTalk-Funktionen (z. B. Workflowmodul) umgewandelt werden können.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 kann nun den Line of Business (LOB)-Adapter von WCFWCF verwenden, um Nachrichten an den Posteingang zu senden.BizTalk can now use the WCFWCF Line of Business (LOB) adapter to deliver messages to the message box.

Microsoft Silverlight ist eine Plattform für die Entwicklung interoperabler und leistungsfähiger Webanwendungen, mit denen Entwickler multimediale Websites (z. B. mit Videostreams) erstellen können.Microsoft Silverlight is a platform for creating interoperable, rich Web applications that allow developers to create media-intensive Web sites (such as streaming video). Seit Version 2 ist WCFWCF als Kommunikationstechnologie in Silverlight integriert und verbindet so Silverlight-Anwendungen mit WCFWCF -Endpunkten.Beginning with version 2, Silverlight has incorporated WCFWCF as a communication technology to connect Silverlight applications to WCFWCF endpoints.

Der Hostingfunktionen von Windows Server AppFabrichosting features of Windows Server AppFabric -Anwendungsserver wurde speziell für die Bereitstellung und Verwaltung von Anwendungen entwickelt, die WCFWCF zur Kommunikation verwenden.The Hostingfunktionen von Windows Server AppFabrichosting features of Windows Server AppFabric application server is specifically built for deploying and managing applications that use WCFWCF for communication. Der Hostingfunktionenhosting features -Server beinhaltet leistungsfähige Bearbeitungs- und Konfigurationsoptionen, die speziell für mit WCFWCFkompatible Anwendungen konzipiert wurden.The Hostingfunktionenhosting features includes rich tooling and configuration options specifically designed for WCFWCF-enabled applications.

Siehe auchSee Also

System.ServiceModel
Wesentliche Windows Communication Foundation-BegriffeFundamental Windows Communication Foundation Concepts
Windows Communication Foundation-ArchitekturWindows Communication Foundation Architecture
Richtlinien und empfohlene VorgehensweisenGuidelines and Best Practices
Tutorial mit ersten SchrittenGetting Started Tutorial
Anleitung zur DokumentationGuide to the Documentation
Einfache WCF-ProgrammierungBasic WCF Programming
Windows Communication Foundation-BeispieleWindows Communication Foundation Samples