2

私がやりたいことは次のとおりです。

var client = new JsonServiceClient(ServiceUrl);
var request = new FooQuery {Id = 1};
IEnumerable<Project> response = client.Get(request);

ただし、私の FooQuery は IReturn を実装していません。実装しないでください (ServiceStack 参照のないライブラリにあります)。これが私のサービス側です:

ビジネス オブジェクトのライブラリ:

public class ProjectQuery
{
    public int Id { get; set; }
}

アプリホスト:

Routes.Add<ProjectQuery>("/project", "GET");

サービス:

public object Get(Foo request)
{
     // do stuff.
}

ビジネス オブジェクトで IReturn インターフェイスを使用せずに JsonServiceClient を作成するためのきれいな方法はありますか?

4

3 に答える 3

1

JsonServiceClient Get() リクエストに URL を提供したくない場合、IReturn を使用しない方法はないようです。私の ServiceStack 実装に別の DTO セットを作成することにしました。これは、本質的に別のライブラリ内の実際の DTO のミラーです。次に、SS DTO に要求が届くと、他のライブラリの DTO を作成し、各プロパティを設定して渡します。

きれいではありませんが、それは私が今まで見つけた中で最高のものです.

于 2013-09-11T20:23:08.790 に答える