2016-05-11 21 views
0

Ich habe einen einfachen Testdienst wie folgt erstellt. Ich möchte die URL meinem Client wie in der URI-Vorlage definiert geben. Ich habe den Dienst in IIS gehostet. Wie kann ich die URL für den untenstehenden Service erstellen ??????So rufen Sie die WCF-URL auf?

WSDL-Dokument wird wie erwartet angezeigt. Ich möchte, dass die URL URITemplate entspricht.

Bitte vorschlagen

IService1.cs

[ServiceContract] 
public interface IService1 
{ 
    [OperationContract] 
    [WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Json, UriTemplate = "?value={value}")] 
    string GetData(string value); 


    // TODO: Add your service operations here 
} 

Service1.cs

public class Service1 : IService1 
{ 

    #region IService1 Members 

    public string GetData(string value) 
    { 
     return "Hello " + value; 
    } 

    #endregion 
} 

Web.config

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <modules runAllManagedModulesForAllRequests="true" /> 
    <httpProtocol> 
     <customHeaders> 
     <add name="Access-Control-Allow-Origin" value="*" /> 
     <add name="Access-Control-Allow-Headers" value="Content-Type" /> 
     </customHeaders> 
    </httpProtocol> 
     <handlers accessPolicy="Read, Execute, Script" /> 
    </system.webServer> 
    <system.serviceModel> 
    <services> 
     <service name="Check.Service1" behaviorConfiguration="mexBehavior"> 
     <endpoint address="" binding="webHttpBinding" contract="Check.IService1" behaviorConfiguration="restfulBehavior"></endpoint> 
     <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint> 
     <host> 
      <baseAddresses> 
      <add baseAddress="http://localhost/Check" /> 
      </baseAddresses> 
     </host> 
     </service> 
    </services> 
    <behaviors> 
     <endpointBehaviors> 
     <behavior name="restfulBehavior"> 
      <webHttp /> 
     </behavior> 
     </endpointBehaviors> 
     <serviceBehaviors> 
     <behavior name="mexBehavior"> 
      <serviceMetadata httpGetEnabled="true" /> 
      <serviceDebug includeExceptionDetailInFaults="true" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="false"></serviceHostingEnvironment> 
    </system.serviceModel> 
</configuration> 
+0

kann Ihre UriTemplate UriTemplate = "/ GetData? Value = {Wert}") sein? –

+0

Ich habe versucht mit diesem auch/GetData? Wert = {Wert} immer noch kein Glück –

+0

Was ist die URL? Hast du das aus der Browser-Adressleiste aufgerufen? –

Antwort

1

habe ich nur den Code, es funktioniert gut für mich unter URL:

http://[HostAddress]/service1.svc/?value=1 

ich dies in Antwort bekommen:

{ 
    GetDataResult: "Hello 1" 
} 

Überprüfen Sie, ob es für Sie arbeitet.

Verwandte Themen