Ich kämpfte damit stundenlang, bis ich dieses Beispiel schließlich verwendet und es zuerst gehen bearbeitetem http://www.codeproject.com/Articles/105273/Create-RESTful-WCF-Service-API-Step-By-Step-Guide
Ich weiß nur, Link Antworten nicht gut sind und andere haben diesen CP-Link zu solve this type of problem here at Stackoverflow so hier verwendet werden, die grundlegenden Schritte, wenn der Artikel jemals untergeht:
SCHRITT 1
Zunächst einmal starten Visual Studio 2010. Klicken Sie auf Datei> Neu> Projekt. Erstellen Sie eine neue "WCF-Dienstanwendung".
SCHRITT 2
Nachdem Sie das Projekt erstellen, können Sie von Standard-WCF-Dienst und Interface-Datei bereits erstellt (Service1.cs & IService.cs) sehen in Lösung. Löschen Sie diese beiden Dateien, und wir werden unsere eigene Schnittstelle und WCF-Servicedatei erstellen.
SCHRITT 3
Jetzt der rechten Maustaste auf Lösung und erstellen Sie eine neue WCF-Service-Datei. Ich habe der Servicedatei den Namen "RestServiceImpl.svc" gegeben.
SCHRITT 4
Wie ich am Anfang des Artikels erklärt, dass wir eine API schreiben, die Daten in XML und JSON-Format zurückkehren können, ist hier die Schnittstelle dafür. Fügen Sie in IRestServiceImpl den folgenden Code hinzu
In dem obigen Code können Sie zwei verschiedene Methoden von IRestService sehen, die XMLData und JSONData sind. XMLData gibt das Ergebnis in XML zurück, während JSONData in JSON zurückgegeben wird.
[ServiceContract]
public interface IRestServiceImpl
{
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Xml,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "xml/{id}")]
string XMLData(string id);
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "json/{id}")]
string JSONData(string id);
}
STEP 5
Öffnen Sie die Datei RestServiceImpl.svc.cs und schreiben Sie den folgenden Code dort:
public class RestServiceImpl : IRestServiceImpl
{
public string XMLData(string id)
{
return "You requested product " + id;
}
public string JSONData(string id)
{
return "You requested product " + id;
}
}
STEP 6
Web.Config
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<services>
<service name="RestService.RestServiceImpl" behaviorConfiguration="ServiceBehaviour">
<!-- Service Endpoints -->
<!-- Unless fully qualified, address is relative to base address supplied above -->
<endpoint address ="" binding="webHttpBinding" contract="RestService.IRestServiceImpl" behaviorConfiguration="web">
<!--
Upon deployment, the following identity element should be removed or replaced to reflect the
identity under which the deployed service runs. If removed, WCF will infer an appropriate identity
automatically.
-->
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
SCHRITT 7
In IIS:
Ist das auf einem Remote-Server orlocalhost? Wenn Sie remote sind, haben Sie überprüft, ob alles lokal funktioniert? –