我有一个wcf客户端/服务器应用程序,我试图在客户端部署它。我认为这是一个跨域问题,因为我们已经在同一台计算机上成功部署了它。
我目前正在使用basichttpbinding和一个只使用Soap1.2的自定义绑定:
if (!useBasic)
{
CustomBinding binding = new CustomBinding();
TextMessageEncodingBindingElement encoding = new TextMessageEncodingBindingElement(MessageVersion.Soap12, System.Text.Encoding.UTF8);
HttpTransportBindingElement transport = new HttpTransportBindingElement();
transport.MaxReceivedMessageSize = BindingConstants.MaxStringContentLength;
binding.Elements.Add(encoding);
binding.Elements.Add(transport);
return binding;
}
else
{
BasicHttpBinding binding = new BasicHttpBinding();
binding.MaxReceivedMessageSize = BindingConstants.MaxStringContentLength;
return binding;
}
然而,客户端告诉我他们收到错误“目标'XXXXXXXXXXX'与'XXXXXXXXXXXX'的SOAP安全协商失败。详情见内部异常。”
现在我还没有得到内部异常,但我在网上研究的一切都告诉我BasicHttpBinding应该解决这个问题,但是他们告诉我他们正在使用BasicHttpBinding。
BasicHttpBinding是否可以解决这个问题,就像我上面设置的一样?
另外,当我检查我的BasicHttpBinding.Security.Message.ClientCredentialType时,它会显示UserName。如果我的Security.Mode是“无”,这是否重要?
感谢。