WCF Rest-Service: Unterschied zwischen den Versionen
Ansp (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „==='''Aufgabenstellung'''=== Einen WCF-Service mit REST/JSON-Funktionalität versehen: Der WCF-Service. ==='''Lösung'''=== Mit der Hilfe von WCF-Attributen ka…“) |
Alar (Diskussion | Beiträge) (→Weitere Informationen) |
||
| Zeile 84: | Zeile 84: | ||
Hinweis: Das Beispiel zur Erläuterung der Vorgehensweise wurde mit .NET 4.5 erstellt. | Hinweis: Das Beispiel zur Erläuterung der Vorgehensweise wurde mit .NET 4.5 erstellt. | ||
==='''Weitere Informationen'''=== | ==='''Weitere Informationen'''=== | ||
| − | https://mittelstand.max-it.de/Individualloesungen | + | https://mittelstand.max-it.de/Software-Loesungen/Individualloesungen |
| + | |||
=== '''Kontakt''' === | === '''Kontakt''' === | ||
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /> | Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.<br /> | ||
Version vom 10. Februar 2016, 10:47 Uhr
Inhaltsverzeichnis
Aufgabenstellung
Einen WCF-Service mit REST/JSON-Funktionalität versehen: Der WCF-Service.
Lösung
Mit der Hilfe von WCF-Attributen kann aus einem normalen SOAP-Service mit WCF ein WCF-Service mit REST/JSON-Funktionalität erstellt werden. Anschließend muss noch die Konfigurationsdatei des Service ein wenig angepasst werden. Als Ausgangspunkt nehmen wir einen normalen SOAP-Service mit einer einfachen Methode. Projekt-Mappe SOAP-Service:
ISimpleService:
[ServiceContract]
public interface ISimpleService
{
[OperationContract]
string GetSimpleData(int id);
}
SimpleService:
public class SimpleService : ISimpleService
{
public string GetSimpleData(int id)
{
return string.Format("Folgende Id wurde übergeben: {0}", id);
}
}
Für die Verwandlung in einen REST-Service wird die Interface-Klasse um WCF-Attribute erweitert.
Projekt-Mappe REST-Service:
ISimpleService:
[ServiceContract]
[WebInvoke(UriTemplate = "getsimpledata?id={id}", Method = "GET",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
public interface ISimpleService
{
[OperationContract]
string GetSimpleData(int id);
}
UriTemplate- getsimpledata?id={id}: Das UriTemplate besteht aus Pfad und Abfrage-Parameter.
ResponseFormat- WebMessageFormat.Json -> Die Daten werden im JSON-Format zurückgegeben.
SimpleService:
public class SimpleService : ISimpleService
{
public string GetSimpleData(int id)
{
return string.Format("Folgende Id wurde übergeben: {0}", id);
}
}
Anschließend muss die web.config noch angepasst werden.
web.config:
<system.serviceModel>
<services>
<service name="SimpleWCFRestService.SimpleService" behaviorConfiguration="serviceBehavior">
<endpoint address="" binding="webHttpBinding" contract="SimpleWCFRestService.ISimpleService" behaviorConfiguration="Web">
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="serviceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="Web">
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
So jetzt ist es soweit: Aus dem SOAP-Service ist ein REST-Service geworden, der die Daten im JSON-Format zurückgibt.
Aufruf REST-Service:
http://localhost:49880/SimpleService.svc/getsimpledata?id=123456789
Antwort im JSON-Format:
"Folgende Id wurde übergeben: 123456789"
Hinweis: Das Beispiel zur Erläuterung der Vorgehensweise wurde mit .NET 4.5 erstellt.
Weitere Informationen
https://mittelstand.max-it.de/Software-Loesungen/Individualloesungen
Kontakt
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techcorner@max-it.de.
Über m.a.x. Informationstechnologie AG:
Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.
Tags
.NET, C#, WCF, REST

