2

Silverlight クライアントからの JSON 応答をデシリアライズしたいと考えています。

サーバーとクライアントの両方から参照されるポータブル クラス ライブラリに DTO があります。

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

ServiceStack C# クライアントを使用すると (つまり、Silverlight からではなく)、すべて正常に動作します。クライアントで MyType がハイドレートされます。

ただし、Silverlight からは、ResponseData が null です。

単純型は Silverlight からも正常に動作します。たとえば、これは機能します:

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

注: DTO に注釈はありません。

クライアントでは、私は以下を使用しています:

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

私の回避策は、単純な型だけを使用するように DTO を変更してから、クライアント上のビジネス オブジェクトを手動でハイドレートすることです。

これよりうまくやれるだろうか?

4

1 に答える 1