使用HttpClient调用WCF服务

时间:2016-08-03 08:39:58

标签: c# wcf httpclient

我必须调用wcf服务.. scf服务已启用,我可以编辑其配置。 我现在必须创建一个调用该服务的客户端..我无法将服务引用添加到我的客户端,因此我尝试使用HttpClient调用它。

这里是代码客户端:

using (var client = new HttpClient())
{
    //soapString is my input class serialized
    var content = new StringContent(soapString, Encoding.UTF8, "text/xml");
    using (var postResponse = client.PostAsync("http://localhost:52937/Attempts.svc/", content).Result)
    {
        string postResult = postResponse.Content.ReadAsStringAsync().Result;

    }
}

这里是代码服务器端:

[ServiceContract]
public interface IAttempts
{
    [OperationContract]
    void ReceiveAttemptResult(ReceiveAttemptResultInput result);
}

public class Attempts : IAttempts
{
    string _backendUrl;

    public void ReceiveAttemptResult(ReceiveAttemptResultInput result)
    {
       ...
    }
}

最后是web.config服务器端

<system.serviceModel>
  <services>
    <service name="it.MC.Listeners.Attempts">
      <endpoint address="" contract="it.MC.Listeners.IAttempts" binding="basicHttpBinding"/>
      <endpoint address="mex" contract="IMetadataExchange" binding="mexHttpBinding"/>
    </service>
  </services>
  <behaviors>
    <serviceBehaviors>
      <behavior name="">
        <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
        <serviceDebug includeExceptionDetailInFaults="false" />
      </behavior>
    </serviceBehaviors>
  </behaviors>
  <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>

当我打电话给服务时,我只是获得一个空字符串,我无法在服务中的edbug中停止......出了什么问题?

谢谢

0 个答案:

没有答案