Konfiguration von WCF-Client zu verbrauchen, einen WCF-Dienst mithilfe von HTTP-GET

Ich habe einen WCF-Service, der es nur HTTP-GET-Anfragen:

[WebInvoke(Method="GET", ResponseFormat=WebMessageFormat.Json)]
public string GetAppData()

Der service ist ausgesetzt mit webHttpBinding

<system.serviceModel>
<bindings>
  <webHttpBinding>
    <binding name="AppSvcBinding">
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Windows" />
      </security>
    </binding>
  </webHttpBinding>
</bindings>
    <behaviors>

Habe ich meine Kunden, deren config sieht aus wie

<system.serviceModel>
    <client>
        <endpoint address="http://localhost/AppService/Service.svc" 
            binding="webHttpBinding" 
            bindingConfiguration="webHttpBindingConfig"
            contract="AppSvc.IService" 
            behaviorConfiguration="AppSvcBehavior"
            name="AppSvcClient">
    <identity>
      <dns value="localhost"/>
    </identity>
  </endpoint>
    </client>
<bindings>
  <webHttpBinding>
    <binding name="webHttpBindingConfig">
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Windows" />
      </security>
    </binding>
  </webHttpBinding>
</bindings>
<behaviors>
  <endpointBehaviors>
    <behavior name="AppSvcBehavior">
      <webHttp/>
    </behavior>
  </endpointBehaviors>
</behaviors>
</system.serviceModel>

Mein client-code ist eine einfache

ServiceClient client = new ServiceClient("AppSvcClient");
String result = client.GetAppData();

Auf dem ausführen dieses Codes bekomme ich die Fehlermeldung:

Dem remote-server eine unerwartete Antwort zurückgegeben: (405) Method not Allowed.

Ich habe mit fiddler und festgestellt, dass mein client sendet eine POST-Meldung in der Erwägung, dass erwartet, dass der Dienst eine BEKOMMEN, daher der Fehler.

Möchte ich wissen, wie der client so konfiguriert wird, sendet GET-request an den service.

Was macht der rest Ihrer server-side-Konfiguration Aussehen?

InformationsquelleAutor sandyiit | 2011-02-10

Schreibe einen Kommentar