WCF Rest-Service: Unterschied zwischen den Versionen
Anki (Diskussion | Beiträge) |
Deko (Diskussion | Beiträge) |
||
Zeile 2: | Zeile 2: | ||
Einen WCF-Service mit REST/JSON-Funktionalität versehen: Der WCF-Service. | Einen WCF-Service mit REST/JSON-Funktionalität versehen: Der WCF-Service. | ||
==='''Lösung'''=== | ==='''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. | + | Mit der Hilfe von WCF-Attributen kann aus einem normalen SOAP-Service mit WCF ein WCF-Service mit REST/JSON-Funktionalität erstellt werden.<br /> |
+ | Anschließend muss noch die Konfigurationsdatei des Service ein wenig angepasst werden. Als Ausgangspunkt nehmen wir<br /> | ||
+ | einen normalen SOAP-Service mit einer einfachen Methode. | ||
'''Projekt-Mappe SOAP-Service:''' | '''Projekt-Mappe SOAP-Service:''' | ||
[[Datei: WCF_Service.jpg.png|left|thumb|400px]] | [[Datei: WCF_Service.jpg.png|left|thumb|400px]] | ||
Zeile 83: | Zeile 85: | ||
<pre>"Folgende Id wurde übergeben: 123456789"</pre> | <pre>"Folgende Id wurde übergeben: 123456789"</pre> | ||
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'''=== | ||
− | Mehr Informationen zu unseren Softwarelösungen und Services finden Sie auf [https://www.max-it.de/techcorner/WCF_Rest-Service | + | Mehr Informationen zu unseren Softwarelösungen und Services finden Sie auf<br /> |
+ | [https://www.max-it.de/techcorner/WCF_Rest-Service www.max-it.de/Softwarelösungen] | ||
=== '''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:<br /> |
+ | [http://mailto:techcorner@max-it.de techcorner@max-it.de].<br /> | ||
Über m.a.x. Informationstechnologie AG: <br /> | Über m.a.x. Informationstechnologie AG: <br /> | ||
− | 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.<br /> | + | Als etabliertes Münchner Systemhaus zeichnen wir uns seit 1989 als verlässlicher IT-Partner mittelständischer und<br /> |
+ | großer Unternehmen aus. Unser Portfolio reicht von IT- Services über individuelle Softwareentwicklung bis hin zur ERP-Beratung.<br /> | ||
+ | <br /> | ||
=== '''Tags''' === | === '''Tags''' === | ||
.NET, C#, WCF, REST | .NET, C#, WCF, REST |
Version vom 22. Januar 2020, 11:35 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
Mehr Informationen zu unseren Softwarelösungen und Services finden Sie auf
www.max-it.de/Softwarelösungen
Kontakt
Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns:
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