我创建了一个具有 wsHttpBinding 和消息安全性的 WCF 服务。然后我添加了一个服务引用,导致客户端的配置文件被更新为:
<client>
<endpoint address="http://localhost:42160/Service1.svc/secure"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IService1"
contract="SecureProxy.IService1" name="WSHttpBinding_IService1">
<identity>
<userPrincipalName value="baria2@mydomain.com" />
</identity>
</endpoint>
</client>
我不明白 userPrincipalName 的用途。无论我将值修改为什么,客户端和服务都能成功通信。它似乎没有任何目的。
这篇MSDN 文章试图详细解释其目的,但不知何故根本没有解释任何内容。
微软试图通过将其添加到 WCF 故事中来解决什么问题?同样,我可以将值更改为我想要的任何值,并且不会影响客户端和服务。
另外,这是一个类似的问题。