Einfacher RessourcendienstBasic Resource Service

In diesem Beispiel veranschaulicht das Implementieren eines HTTP-basierter Diensts mithilfe der Windows Communication Foundation (WCF) REST-Programmiermodells, die eine Auflistung von Kunden verfügbar macht, die unterstützt das Abrufen, hinzufügen, löschen und Ersetzen-Vorgänge.This sample demonstrates how to implement a HTTP-based service using the Windows Communication Foundation (WCF) REST Programming model that exposes a collection of customers that supports the retrieve, add, delete and replace operations. Dieses Beispiel besteht aus 2-Komponenten – einen selbst gehosteten WCF-HTTP-Dienst (Service.cs) und einer Konsolenanwendung (program.cs), die den Dienst erstellt und es aufruft.This sample consists of 2 components - a self-hosted WCF HTTP service (Service.cs) and a console application (program.cs) that creates the service and makes calls to it.

BeispieldetailsSample Details

Der WCF-Dienst macht eine Auflistung von Kunden auf ressourcenorientierte/REST-Weise verfügbar.The WCF service exposes a collection of customers in a resource-oriented/REST manner. Kurz gesagt gehören dazu eindeutige URIs für die Auflistung der Kunden und für jeden Kunden in der Auflistung.In short, this involves having unique URIs for the collection of customers and every customer in the collection. Der Dienst unterstützt das Senden von HTTP GET am Auflistungs-URI, um die gesamte Auflistung abzurufen, und das Senden von HTTP POST am Auflistungs-URI, um der Auflistung einen neuen Kunden hinzuzufügen.The service supports sending an HTTP GET at the collection URI to retrieve the entire collection and HTTP POST at the collection URI to add a new customer to the collection. Der Dienst unterstützt am URI für einen einzelnen Kunden außerdem HTTP GET, um die Kundendetails abzurufen, HTTP PUT, um die Kundendetails zu ersetzen, und HTTP DELETE, um den Kunden aus der Auflistung zu entfernen.Also at the URI for an individual customer, it supports HTTP GET to get the customer details, HTTP PUT to replace the details of the customer and HTTP DELETE to remove the customer from the collection. Wenn der Auflistung ein neuer Kunde hinzugefügt wird, weist der Dienst ihm einen eindeutigen URI zu und speichert den URI zusammen mit den anderen Kundendetails.When a new customer is added to the collection, the service assigns it a unique URI and stores the URI as part of the customer’s details. Der Dienst verwendet außerdem den HTTP-Speicherortheader der Antwort, um den URI dem Client mitzuteilen.Also, it communicates the URI to the client using the Location HTTP header of the response.

Die Datei App.config konfiguriert den WCF-Dienst mit einem Standard-WebHttpEndpoint, für den die HelpEnabled-Eigenschaft auf true festgelegt ist.The App.config file configures the WCF service with a default WebHttpEndpoint that has the HelpEnabled property set to true. Daher erstellt die WCF eine automatische HTML-basierte Hilfeseite unter http://localhost:8000/Customers/help , die Informationen dazu bereitstellt wie HTTP-Anforderungen für den Dienst und den Dienst HTTP-Antwort – z. B. Zugriff auf ein Beispiel, wie die Kundendetails ist in XML und JSON dargestellt.As a result, the WCF creates an automatic HTML-based help page at http://localhost:8000/Customers/help that provides information about how to construct HTTP requests to the service and how to access the service’s HTTP response – for instance, an example of how the customer details is represented in XML and JSON.

Indem der Client die Kundenauflistung (und, allgemeiner ausgedrückt, jede Ressource) auf diese Weise verfügbar macht, kann er mithilfe von URIs sowie HTTP GET, PUT, DELETE und POST auf einheitliche Weise mit der Auflistung interagieren.Exposing the customer collection (and more generally, any resource) in this manner allows the client to interact with it in a uniform way using URIs and HTTP GET, PUT, DELETE and POST. Program.cs veranschaulicht, wie ein solcher Client mit HttpWebRequest erstellt werden kann.Program.cs demonstrates how such a client can be authored using HttpWebRequest. Beachten Sie, dass dies nur eine Möglichkeit für einen WCF REST-Dienst zuzugreifen.Note that this is just one way to access a WCF REST service. Es ist auch möglich, mit anderen .NET Framework-Klassen wie ChannelFactory und WebClient auf den Dienst zuzugreifen.It is also possible to access the service using other .NET Framework classes like the ChannelFactory and WebClient. Weitere Beispiele im SDK (z. B. die grundlegenden HTTP-Dienst Beispiel und die automatische Formatauswahl Beispiel) zeigen, wie Sie diese Klassen verwenden, um die Kommunikation mit einem WCF-Dienst.Other samples in the SDK (such as the Basic HTTP Service sample and the Automatic Format Selection sample) show how to use these classes to communicate with a WCF service.

Das Beispiel umfasst einen selbst gehosteten Dienst und einen Client, die in einer Konsolenanwendung ausgeführt werden.The sample consists a self-hosted service and a client that both run 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 eines grundlegenden Ressourcendiensts.Open the solution for the Basic Resource Service 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 und wählen Sie dann als Administrator ausführen aus dem Kontextmenü.Do this by right-clicking the Visual Studio 2012Visual Studio 2012 icon and selecting Run as Administrator from the context menu.

  2. Drücken Sie STRG+UMSCHALT+B, um die Projektmappe zu erstellen, und dann STRG+F5, um die Konsolenanwendung auszuführen.Press CTRL+SHIFT+B to build the solution and then press Ctrl+F5 to run the console application. 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. Sie können die HTML-Hilfeseite jederzeit anzeigen, indem sie den URI der Hilfeseite in einem Browser eingeben.At any point in time you can view the HTML help page by typing the URI of the help page in a browser. Während das Beispiel ausgeführt wird, schreibt der Client den Status der aktuellen Aktivität.As the sample runs, the client writes the status of the current activity.

  3. 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, fahren Sie mit Windows Communication Foundation (WCF) und Windows Workflow Foundation (WF) Samples for .NET Framework 4 aller Windows Communication Foundation (WCF) herunterladen und WFWF Beispiele.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) 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\BasicResourceService

Siehe auchSee Also

Einfacher HTTP-DienstBasic HTTP Service
Automatische FormatauswahlAutomatic Format Selection