WCF wsHttpBinding在多台计算机上使用证书身份验证

时间:2010-06-30 11:30:59

标签: c# wcf wcf-security

我有WCF服务,它使用wsHttpBinding并使用证书进行身份验证。

我在多台计算机上运行此服务,我的防火墙将请求路由到不同的服务器。

问题是当客户端打开代理并与一台服务器一起工作时,在下一次调用时,防火墙将请求路由到另一台服务器,我在客户端上遇到异常:

  

不安全或不正确的安全   从另一方收到了错误   派对。查看内部FaultException   用于故障代码和细节。

内部异常:

  

无法处理邮件。   这很可能是因为这个动作   'http://www.site.com/api/contract/IService/DoAction'   不正确或因为消息   包含无效或过期   安全上下文令牌或因为   绑定之间存在不匹配。   安全上下文令牌将是   如果服务中止,则无效   由于不活动而导致频道。阻止   中止闲置的服务   会议过早地增加了   接收服务超时   端点的绑定。

有没有解决方案?

1 个答案:

答案 0 :(得分:1)

使用:establishSecurityContext =“false”

  <security mode="Message">            
    <message clientCredentialType="Certificate" negotiateServiceCredential="false"
      algorithmSuite="Default" establishSecurityContext="false" />
  </security>