Automatische FormatauswahlAutomatic Format Selection

In diesem Beispiel wird veranschaulicht, wie die automatische Formatauswahl (XML oder JSON) mit dem Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)-Web-REST-Programmiermodell aktiviert wird und wie das Format im Vorgangscode explizit festgelegt wird.This sample demonstrates how to enable automatic format selection (XML or JSON) with the Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) REST programming model, as well as how to explicitly set the format in the operation code.

BeispieldetailsSample Details

Das Beispiel besteht aus einem Dienst und Clientcode, mit dem Anforderungen an den Dienst gesendet werden.The sample consists of a service along with client code that makes requests to the service. Der Dienst unterstützt einen einzelnen HTTP-GET-Vorgang (EchoWithGet) und einen einzelnen HTTP-POST-Vorgang (EchoWithPost).The service supports a single HTTP GET operation (EchoWithGet) and a single HTTP POST operation (EchoWithPost). Bei beiden Vorgängen wird eine Zeichenfolge erwartet, die als Antwort wieder zurückgegeben wird.Both operations expect a string and then return the string in the response. Der Zeichenfolge wird mithilfe des GET-Vorgangs in einem URI-Abfragezeichenfolgenparameter bereitgestellt.With the GET operation, the string is provided in a URI query-string parameter. Der Zeichenfolge wird mit dem POST-Vorgang im Text der Anforderung bereitgestellt und in XML serialisiert.With the POST operation, the string is provided in the body of the request, serialized in XML. Der Dienst kann Antworten in XML oder JSON zurückgeben. Dazu werden die neue automatische Formatauswahl und die imperativen Formatauswahlfunktionen in .NET Framework Version 4.NET Framework version 4 verwendet.The service is able to return responses in either XML or JSON, utilizing the new automatic format selection and imperative format selection features in .NET Framework Version 4.NET Framework version 4.

In diesem Beispiel wird die automatische Formatauswahl mit der Datei App.config aktiviert.In the sample, automatic format selection is enabled using the App.config file. Im standardmäßigen HTTP-Webendpunkt wurde dem automaticFormatSelectionEnabled-Attribut der Wert true zugewiesen.On the default Web HTTP endpoint, the automaticFormatSelectionEnabled attribute has been given a value of true. Da die automatische Formatauswahl aktiviert ist, wählt die WCFWCF-Infrastruktur das Antwortformat (XML oder JSON) aus, das aufgrund der HTTP Accept- oder Content-Type-Header der Anforderung am geeignetsten scheint.With automatic format selection enabled, the WCFWCF infrastructure selects the most appropriate response format (XML or JSON) given the HTTP Accept or Content-Type headers of the request. Der Entwickler muss keinen zusätzlichen Code und keine zusätzliche Konfiguration bereitstellen, sondern nur das automaticFormatSelectionEnabled-Attribut auf true festlegen, um diese neue Funktion zu verwenden.The developer is not required to provide any additional code or configuration other than setting the automaticFormatSelectionEnabled attribute to true to use this new feature. Im Clientcode in "Program.cs", Anforderungen gesendet werden sowohl die GET und POST Vorgänge des Diensts mit dem HTTP-Accept-Header, die als "Application/Xml" oder "Application/Json" angegeben und der Dienst gibt eine Antwort zurück, in diesem jeweiligen Format.In the client code in Program.cs, requests are sent to both the GET and POST operations of the service with the HTTP Accept header specified as either "application/xml" or "application/json" and the service returns a response in that respective format.

Beim GET-Vorgang wird außerdem die imperative Formatauswahl verwendet.Also in the GET operation, imperative format selection is used. Der GET-Vorgang überprüft, ob es einen optionalen format-Abfragezeichenfolgenparameter gibt und legt das Antwortformat für die OutgoingResponse-Eigenschaft fest, falls ein entsprechender Parameter vorhanden ist.The GET operation checks for an optional format query-string parameter and if present, sets the response format on the OutgoingResponse property. Durch das imperative Festlegen des Antwortformats in der beschriebenen Weise wird die von der WCFWCF-Infrastruktur vorgenommene automatische Formatauswahl überschrieben.Imperatively setting the response format in this way overrides the automatic format selection done by the WCFWCF infrastructure.

Das Beispiel umfasst einen selbst gehosteten Dienst und einen Client, der in einer Konsolenanwendung ausgeführt wird.The sample consists of a self-hosted service and a client that runs within a console application. Während die Konsolenanwendung ausgeführt wird, sendet der Client Anforderungen an den Dienst und schreibt die in den Antworten enthaltenen wichtigen Informationen in das Konsolenfenster.As the console application runs, the client makes requests to the service and writes the pertinent information from the responses to the console window.

So verwenden Sie dieses BeispielTo use this sample

  1. Öffnen Sie die Projektmappe für das Beispiel zur automatischen Formatauswahl.Open the solution for the Automatic Format Selection Sample. Sie müssen Visual Studio 2012Visual Studio 2012 als Administrator ausführen, damit das Beispiel erfolgreich ausgeführt werden kann.When launching Visual Studio 2012Visual Studio 2012, you must run as an administrator for the sample to execute successfully. Zu diesem Zweck mit der rechten Maustaste die Visual Studio 2012Visual Studio 2012 Symbol, und wählen Sie als Administrator ausführen aus dem Kontextmenü.Do this by right-clicking the Visual Studio 2012Visual Studio 2012 icon and select Run as Administrator from the context menu.

  2. Drücken Sie STRG+UMSCHALT+B, um die Projektmappe zu erstellen, und dann STRG+F5, um das Projekt AutomaticFormatSelection der Konsolenanwendung auszuführen.Press CTRL+SHIFT+B to build the solution and then press Ctrl+F5 to run the console application AutomaticFormatSelection project. Im eingeblendeten Konsolenfenster werden der URI des ausgeführten Diensts und der URI der HTML-Hilfeseite für den ausgeführten Dienst angezeigt.The console window appears and provides the URI of the running service and the URI of the HTML help page for the running service.

  3. Während das Beispiel ausgeführt wird, sendet der Client Anforderungen an den Dienst und schreibt die Antworten in das Konsolenfenster.As the sample runs, the client sends requests to the service and writes the responses to the console window. Beachten Sie die anderen Formate der Antworten in XML und JSON.Notice the different formats of the responses in XML and JSON.

  4. Drücken Sie eine beliebige Taste, um das Beispiel zu beenden.Press any key to terminate the sample.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your machine. Suchen Sie nach dem folgenden Verzeichnis (Standardverzeichnis), bevor Sie fortfahren.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) - und WFWF -Beispiele herunterzuladen.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) and WFWF samples. Dieses Beispiel befindet sich im folgenden Verzeichnis.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Web\AutomaticFormatSelection

Siehe auchSee Also