2

我想反序列化来自 Silverlight 客户端的 JSON 响应。

我的 DTO 在可移植类库中,从服务器和客户端都引用。

public class MyDTOResponse
{
    public IEnumerable<MyType> ResponseData {get; set; }
}

当我使用ServiceStack C# 客户端(即不是来自Silverlight)时,一切正常:MyType 在客户端上得到补充。

来自 Silverlight,但是 ResponseData 为空。

Silverlight 中的简单类型也可以正常工作。例如,这有效:

public class MyDTOResponse
{
    public IEnumerable<string> ResponseData {get; set; }
}

注意:DTO 上没有注释。

在客户端,我正在使用:

var serviceClient = new ServiceStack.ServiceClient.Web.JsonServiceClient(baseUri);

我的解决方法是更改​​ DTO,使它们只使用简单的类型,然后在客户端手动合并我的业务对象。

我能做得比这更好吗?

4

1 回答 1

1

尝试将 [DataContract] 属性添加到类 MyDTOResponse 和 [DataMember] 属性到属性 ResponseData

于 2013-06-05T12:46:36.037 回答