我刚刚向我的 WCF 服务添加了一个安全层,并且在跟踪日志中出现异常,指出 EncryptedKey 子句未使用所需的加密令牌“System.IdentityModel.Tokens.X509SecurityToken”进行包装。
我一直在寻找和寻找没有尽头,有人知道可能是什么原因造成的吗?
事实证明,这个问题与服务本身并没有真正的关系,而是与我的 MembershipProvider 自定义实现和我的密码安全实现有关。我已经做了必要的调整,现在一切都很好。
调试 WCF 错误可能会非常棘手,因为有些消息很神秘,如果不是误导的话,我建议启用 WCF 跟踪,并在 Visual Studio 中单步执行您的服务和客户端代码。如果我在问题发生时立即这样做,而不是在 Google 上花费 12 个小时,我会在五分钟内解决问题。
在更改服务代码后更新客户端项目中的服务引用也非常重要。
故事的寓意:使用跟踪和调试。比黄金还值钱!