Delen via


Eenvoudige HTTP-service

Het BasicHttpService-voorbeeld laat zien hoe u een op HTTP gebaseerde, RPC-service implementeert, die populair wordt aangeduid als 'POX'-service (Plain Old XML) met behulp van het WCF-programmeermodel (Windows Communication Foundation). Dit voorbeeld bestaat uit twee onderdelen: een zelf-hostende WCF HTTP-service (Service.cs) en een consoletoepassing (Program.cs) waarmee de service wordt gemaakt en er aanroepen naar worden uitgevoerd.

Voorbeelddetails

De WCF-service maakt 2 bewerkingen EchoWithGet beschikbaar en EchoWithPost, die de tekenreeks retourneert die is doorgegeven als invoer.

De EchoWithGet bewerking wordt geannoteerd met WebGetAttribute, wat aangeeft dat de bewerking HTTP-aanvragen GET verwerkt. Omdat de WebGetAttribute invoertekenreeks niet expliciet opgeeft UriTemplate, verwacht de bewerking dat de invoertekenreeks wordt doorgegeven met behulp van een queryreeksparameter met de naam s. Houd er rekening mee dat de indeling van de URI die de service verwacht, kan worden aangepast met behulp van de UriTemplate eigenschap.

De EchoWithPost bewerking wordt geannoteerd met WebInvokeAttribute, wat aangeeft dat het geen GET bewerking is (het heeft bijwerkingen). Omdat de WebInvokeAttribute bewerking geen expliciet opgeeft Method, verwerkt de bewerking HTTP-aanvragen POST met de tekenreeks in de aanvraagbody (bijvoorbeeld in de XML-indeling). Houd er rekening mee dat de HTTP-methode en de indeling van de URI voor de aanvraag kunnen worden aangepast met respectievelijk de Method en UriTemplate eigenschappen.

Het App.config-bestand configureert de WCF-service met een standaardinstelling WebHttpEndpoint waarop de HelpEnabled eigenschap is ingesteld true. Als gevolg hiervan maakt de WCF-infrastructuur een automatische OP HTML gebaseerde Help-pagina http://localhost:8000/Customers/help op die informatie biedt over het samenstellen van HTTP-aanvragen voor de service en het verbruiken van het HTTP-antwoord van de service.

Program.cs laat zien hoe een WCF-kanaalfactory kan worden gebruikt voor het aanroepen van de service en het verwerken van reacties. Houd er rekening mee dat dit slechts één manier is om toegang te krijgen tot een WCF-service. Het is ook mogelijk om toegang te krijgen tot de service met behulp van andere .NET Framework-klassen zoals HttpWebRequest en WebClient.

Het voorbeeld bestaat uit een zelf-hostende service en een client die beide worden uitgevoerd in een consoletoepassing. Terwijl de consoletoepassing wordt uitgevoerd, doet de client aanvragen naar de service en schrijft de relevante informatie van de antwoorden op het consolevenster.

Dit voorbeeld gebruiken

  1. Open de oplossing voor het basic http-servicevoorbeeld. Wanneer u Visual Studio 2012 start, moet u als beheerder worden uitgevoerd om het voorbeeld te kunnen uitvoeren. Klik hiervoor met de rechtermuisknop op het Visual Studio-pictogram en selecteer Uitvoeren als Beheer istrator in het contextmenu.

  2. Druk op Ctrl+Shift+B om de oplossing te bouwen en druk vervolgens op Ctrl+F5 om de consoletoepassing uit te voeren zonder foutopsporing. Het consolevenster wordt weergegeven en biedt de URI van de actieve service en de URI van de HTML-helppagina voor de actieve service. U kunt de HTML-helppagina op elk gewenst moment bekijken door de URI van de Help-pagina in een browser te typen. Terwijl het voorbeeld wordt uitgevoerd, schrijft de client de status van de huidige activiteit.

  3. Druk op een willekeurige toets om het voorbeeld te beëindigen.