安全通信实施期间的例外情况

时间:2010-04-28 14:41:15

标签: wcf

我试图使用WCF实现简单的安全客户端服务器通信。 当我启动mt服务器everty的事情是可以的,但当我启动我的客户端即时收到此错误: 错误:向https://localhost:800发出HTTP请求时发生错误 0 / ExchangeService。这可能是由于服务器证书是这样的 在HTTPS情况下,未使用HTTP.SYS正确配置。这也可能是因果关系 由于客户端和服务器之间的安全绑定不匹配而导致的。

这是服务器代码:

        Uri address    = new Uri("https://localhost:8000/ExchangeService");

        WSHttpBinding binding = new WSHttpBinding();

        //Set Binding Params
        binding.Security.Mode = SecurityMode.Transport;
        binding.Security.Transport.ClientCredentialType =     HttpClientCredentialType.None;
        binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None;


        Type        contract = typeof(ExchangeService.ServiceContract.ITradeService);
        ServiceHost host = new ServiceHost(typeof(TradeService)); 


        host.AddServiceEndpoint(contract, binding, address);
        host.Open();   

这是客户端配置(app.config):            

</client>
<bindings>
  <wsHttpBinding>
    <binding name="TradeWsHttpBinding">
      <security mode="Transport">
        <transport clientCredentialType="None"
                   proxyCredentialType ="None"/>
      </security>

    </binding>
  </wsHttpBinding>
</bindings>

客户端和服务器上的安全配置是相同的,我不需要服务器的证书在那种安全性(传输)中,为什么我会得到 这个例外????

感谢...

2 个答案:

答案 0 :(得分:1)

好好看看你的代码:

Uri address    = new Uri("https://localhost:8000/ExchangeService");

您指定地址使用SSL(https),因此需要证书才能实现此目的。使用http绑定或安装证书。

我将查看此CodePlex Link上的应用程序方案和方法部分,了解不同的配置以及如何配置它们的详细信息。

答案 1 :(得分:0)

看一下这篇文章,有一个服务器设置的例子:

Wcf server setup