我使用WSHttpBinding for wcf app。当我尝试在Windows 8.1(而不是Pro)上运行客户端时,我遇到了问题。每次运行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以获取故障代码和详细信息。
内部异常:安全验证错误消息。
答案 0 :(得分:1)
Metro应用程序(win 8)支持WCF绑定:
- BasicHttpBinding
- NetTcpBinding
- NetHttpBinding
- CustomBinding
不支持WSHttpBinding !
在win 8.1 win WSHttpBinding 确实有效并且应该使用,因为Microsoft已经增强了8.1 / 2012 R2中LSAS的安全性,并且BasicHttpBinding应该失败,因为它不再支持发送用户通过网络识别身份信息。
我猜您正在使用 WSHttpBinding 相同的方式 - 您想使用用户名/密码并通过网络发送它们。
你的案子应该是:Message Security with a User Name Client
我完全不知道问题是什么,但似乎是信任问题。您的错误会被抛出,因为验证时安全验证失败。
如果该计划适用于 win 8.1 pro 而非赢得8.1 :
除此之外我会有一些侥幸的机会: