Silverlight和WPF:找不到错误!

时间:2010-02-23 04:59:25

标签: c# .net wcf silverlight

我有像这样的WCF方法:

    public string GetSomething(MyObject obj)
    {
        return "Something";
    }

当我从我的silverlight应用程序中调用它时,我收到一个错误:
System.Net.WebException:远程服务器返回错误:NotFound .....

我从我的silverlight应用程序中调用方法如下:

        mProxy.GetSomethingAsync(new MyObject());

现在,当我调用这样的方法时,它可以正常工作:

        mProxy.GetSomethingAsync(null);

因此传递复杂对象似乎存在一些问题。

请注意,我从其他方法返回此MyObject,它工作正常,因此它不是一个可序列化的问题。我还将maxBufferSize和maxReceivedMessageSize更改为最大值,所以不是这样,我传入一个空对象,所以它不应该是一个大小问题。 MyObject只包含简单的数据类型。

有人有什么建议吗?

2 个答案:

答案 0 :(得分:10)

“找不到”错误可能是Silverlight WCF访问中最烦人的一个功能。

您可能需要查看服务跟踪查看器工具(here)。它并不总是有用(我遇到了许多无法帮助的问题),但大约10-20%的时间,它会指出我正确的方向。

您可能还想尝试将SilverlightFaultBehavior添加到您的服务中。它可以将至少一些“未找到”错误消息转换为真正的错误。

答案 1 :(得分:2)

我使用WcfTestClient.exe来调试我的WCF服务。它提供了更加用户友好的错误消息。如果您想设置Silverlight以接收WCF错误,我发现Data Performance and Fault Strategies in Silverlight 3 上的此页面对您有帮助。

http://msdn.microsoft.com/en-us/magazine/ee294456.aspx