我创建了一个 WCF 服务,并使用 .NET 4.5 中的新身份管道保护它,授权由 ADFS 2.0 服务器颁发的令牌提供。该服务位于带有自签名证书的 SSL 端点后面。
我附加了 Fiddler 以尝试解决使用服务的初始异常。这需要启用 Fiddler 的 HTTPS 解密并在手机模拟器上安装 FiddlerRoot 证书。我发现了问题并适当地更新了我的代码。下次我尝试使用该服务时,代码成功了。我分离了 Fiddler,这就是混乱开始的地方。我继续收到相同的(误导性)异常:
The remote server returned an error: NotFound.
考虑到这可能是 X509 链验证问题,我在手机上安装了自签名证书,就像使用 FiddlerRoot 证书一样。我的结果没有变化。以下事情是真实的,对我没有任何意义:
- 可以通过模拟器的网络浏览器在端点地址访问服务描述页面
- IIS 日志不包含引发异常时对服务的请求
- 作为推论,WCF 跟踪日志也不包含有关失败调用的任何信息
此行为对应于将应用程序部署到物理设备时的行为。我想也许 Fiddler 正在创建一个代理,该代理有一个可用的网络路径,而模拟器不可用,但乍一看这似乎不正确。
将不胜感激有关问题根源的调试指导或推测。