ServiceStack の最初の小規模な実装を構築しています。クライアントとサーバー間で共有される別のアセンブリに配置されている DTO について明確にする必要があります。
新しい API の WIKI ページでは、 DTO について次のことを推奨しています。
サービス開発では、サービス DTO は、最大限のアクセシビリティと再利用の可能性のために、クリーンで可能な限り「依存関係のない」状態に保ちたいテクノロジに依存しないサービス レイヤーを提供します。サービス DTO は、ほとんど依存関係のない別個のアセンブリに保持することをお勧めします。
このスニペットもあります
*しかし、DTO を (バイナリ形式のいずれかのソースで) コピーする通常のルートを使用して、クライアントに次のようなものがあるとします。
[Route("/reqstars")]
public class AllReqstars : IReturn<List<Reqstar>> { }
The code on the client now just becomes:
var client = new JsonServiceClient(BaseUri);
List<Reqstar> response = client.Get(new AllReqstars());
/reqstars ルートに GET Web リクエストを送信します。カスタムルートがクライアントに存在しない場合、ServiceStack の事前定義されたルートを使用するように自動的にフォールバックします。
私の質問は...「ほとんど依存関係がない」アセンブリは、DTO クラスのルート属性のために ServiceStack に依存する必要がありますか?