0

在实现 WCF 客户端端点时,我的配置文件具有以下端点条目:

<endpoint address="http://localhost/MyProject/Services/MyService.svc/MyService"
      binding="basicHttpBinding" 
      contract="MyNamespace.IContract" /> 

此时该服务未托管在 IIS 中。本质上,我使用 Cassini 来调用应用程序。此配置工作正常。但是,如果我删除 /Myservice 元素并且我的配置如下所示:

    <endpoint address="http://localhost/MyProject/Services/MyService.svc"
      binding="basicHttpBinding" 
      contract="MyNamespace.IContract" /> 

我得到以下异常:

System.ServiceModel.ProtocolException:内容类型文本/xml;服务不支持 charset=utf-8。客户端和服务绑定可能不匹配

为什么第二个配置在第一个工作时会中断?url 的 /MyService 部分有什么特别之处?

谢谢!

4

1 回答 1

0

我怀疑这是您在服务端定义端点的方式的问题。尝试这个:

  <service
    name="NameOfYourService">

    <host>
      <baseAddresses>
        <add baseAddress="http://localhost/MyProject/Services/"/>
      </baseAddresses>
    </host>

    <endpoint
      address=""
      binding="basicHttpBinding"
      contract="Namespace.Contract" />

  </service>
于 2011-04-06T18:32:24.900 回答