WCF Rest-Service
Aufgabenstellung
Einen WCF-Service mit REST/JSON-Funktionalität versehen.
Lösung
Aus einem SOAP-Service wird per WCF-Attributen ein REST/JSON-Service. Ausgangspunkt ist ein einfacher SOAP-Service.

ISimpleService (SOAP):
[ServiceContract]
public interface ISimpleService
{
[OperationContract]
string GetSimpleData(int id);
}
Interface um WCF-Attribute erweitern (REST):
[ServiceContract]
public interface ISimpleService
{
[OperationContract]
[WebInvoke(UriTemplate = "getsimpledata?id={id}", Method = "GET",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
string GetSimpleData(int id);
}
SimpleService:
public class SimpleService : ISimpleService
{
public string GetSimpleData(int id)
{
return string.Format("Folgende Id wurde uebergeben: {0}", id);
}
}
web.config anpassen:
<system.serviceModel>
<services>
<service name="SimpleWCFRestService.SimpleService" behaviorConfiguration="serviceBehavior">
<endpoint address="" binding="webHttpBinding" contract="SimpleWCFRestService.ISimpleService" behaviorConfiguration="Web" />
</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>
Aufruf und Antwort:
GET http://localhost:49880/SimpleService.svc/getsimpledata?id=123456789
"Folgende Id wurde uebergeben: 123456789"
Unterstützung von m.a.x. it
Bei plattformübergreifender App- und Softwareentwicklung unterstützt Sie m.a.x. it mit individueller Softwareentwicklung.
Über m.a.x. it Die m.a.x. Informationstechnologie AG ist seit über 30 Jahren IT-Partner mittelständischer und großer Unternehmen in München und bietet maßgeschneiderte Lösungen und Services in den Bereichen Cloud, Cybersecurity, Netzwerk, Windows, Linux und Softwareentwicklung. Sie haben eine Frage zu diesem Artikel oder brauchen Unterstützung?
