WCF 诊断似乎在 SL 中不可用。是因为有限的 System.Diagnostics 支持还是其他原因?无论如何,当服务器端诊断不够时,如何跟踪客户端 WCF 问题?
问问题
2070 次
4 回答
1
于 2010-02-16T09:45:26.727 回答
1
这就是我解决在 Silverlight 客户端正确获取异常的问题的方法。与 Rus 类似,但不需要包装异常。虽然它确实要求 web.config 中的版本号是准确的(仍在努力解决这个问题)
于 2010-02-16T09:54:52.070 回答
1
如果您收到“未找到”错误,最可能的原因是跨域访问策略。我用来尝试诊断这些问题的是Fiddler2,并查看原始流量。
于 2010-02-16T12:52:36.230 回答
0
您确定您的 WCF 服务在通话中没有出错吗?如果服务器端出现问题,返回的消息将是 HTTP 状态代码 500。由于安全限制,浏览器不会将任何非 200 消息传递回 silverlight 插件,这会导致 silverlight 抛出经典的 CommunicationException "远程服务器返回错误:NotFound。”
对于使用 WCF 行为将故障的 HTTP 状态代码从 500 更改为 200,有一些非常有据可查的解决方法,因此 silverlight 实际上可以访问错误的详细信息。更多信息在这里:
http://msdn.microsoft.com/en-us/library/dd470096(VS.95).aspx
http://www.netfxharmonics.com/2009/07/Understanding-WCF-Faults-in-Silverlight-3
于 2010-02-16T17:18:10.450 回答