2010-02-16 90 views

回答

1
+0

1,因为我不知道该机制。 –

+0

这是关于错误处理,而不是诊断。在我的情况下,服务器端没有例外(至少在我的服务方法中)。 .svclog不包含错误(尽管它已损坏)(TraceViewer在打开时显示'意外的文件结束')。所以我想在客户端找到比'找不到'更有用的东西。 – UserControl

1

如果你得到一个“Not Found”错误最可能的原因是跨域访问政策。我用来尝试诊断这些问题的是Fiddler2,并查看原始流量。

+0

谢谢!尝试了Fiddler,只得到“ReadResponse()失败:服务器没有返回此请求的响应。”但是,我的问题是,当我与当地的项目玩时,不能跨越多巴达进入。我怀疑序列化问题导致异常发生,不知何故与我的数据库中的结果集相关。 – UserControl

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

+0

我敢肯定,我的方法不会引发异常(方法的右大括号中的断点被命中)。无论如何,这两个链接都没有帮助。第一个完全破坏了服务,第二个没有工作(并且我确实在主机激活时应用了HttpStatusCode200Behavior)。 – UserControl