0

WCF 诊断似乎在 SL 中不可用。是因为有限的 System.Diagnostics 支持还是其他原因?无论如何,当服务器端诊断不够时,如何跟踪客户端 WCF 问题?

4

4 回答 4

1

我认为这篇文章会有所帮助。

http://msmvps.com/blogs/theproblemsolver/archive/2009/01/27/returning-exception-information-to-a-silverlight-client-through-wcf.aspx

于 2010-02-16T09:45:26.727 回答
1

这就是我解决在 Silverlight 客户端正确获取异常的问题的方法。与 Rus 类似,但不需要包装异常。虽然它确实要求 web.config 中的版本号是准确的(仍在努力解决这个问题)

WCF 中异常发送的编程配置

于 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 回答