2014-11-06 53 views
1

我使用WSHttpBinding for may wcf app。当我尝试在Windows 8.1(不是Pro)上运行客户端时遇到问题。该应用程序崩溃()客户端无法在Win8上打开服务

绑定配置时运行Service.Open每次:

WSHttpBinding binding = new WSHttpBinding(); 
binding.MaxReceivedMessageSize = 524288; 
binding.ReliableSession.Enabled = true; 
binding.MessageEncoding = WSMessageEncoding.Text; 
binding.Security.Mode = SecurityMode.Message; 
binding.Security.Message.ClientCredentialType = MessageCredentialType.UserName; 

对于其他操作系统,它的工作。

异常消息:从对方收到一个不安全或不正确安全的故障。查看故障代码和细节的内部FaultException。

内部异常:安全验证错误消息。

+1

捕获异常并阅读错误消息? – nvoigt 2014-11-06 11:41:13

回答

1

地铁应用程序(WIN 8)支持下列WCF绑定:

  • basicHttpBinding的
  • NetTcpBinding的
  • NetHttpBinding
  • CustomBinding

WsHttpBinding的不支持!

在Win 8.1赢得WsHttpBinding的没有工作,应该使用,因为微软已经加强在LSA的安全8.1/2012 R2和basicHttpBinding的失效,由于它不再支持发送用户身份网络上的信息。

我猜你正在使用WSHttpBinding同样的方式 - 你想使用用户名/密码并通过网络发送它们。

你的情况应该是:Message Security with a User Name Client enter image description here

我究竟做不知道问题是什么,但它似乎是信任问题。您的错误被抛出,因为您的安全验证在验证失败

如果节目制作赢得8.1亲,而不是赢得8.1

  • ,并且使用的用户名+证书验证,然后重新安装证书
  • ,并且使用的用户名+密码验证,然后检查如果域用户存在,并且它尝试连接到正确的域。

其他然后,我会有些侥幸的机会,如:

  • 证书不退出
  • 证书没有必要
  • 证书是基于一些其他证书是无效的权限,卸载,过期或...
  • 证书或它的基础证书使用算法不支持
+0

是的,你是对的。我使用此绑定进行授权。 – 2014-11-06 12:31:58

+0

我使用用户名+密码进行验证。用户名和密码取自数据库。为了测试,我们使用OpenSSl生成的证书。证书未安装在客户端机器上我使用openkey令牌文件。 – 2014-11-07 07:21:17

相关问题