0

WCF サービスを構成する賢い方法はありますか? サービスを一度実装すると、異なる呼び出し元に対して異なるデータ コントラクトを返すことができますか? (つまり、モバイル クライアント)

デスクトップ アプリケーションで使用される一連のサービスを既に開発しており、現在、アプリケーションのモバイル バージョンを構築しています。問題は、返されるデータ転送オブジェクト (DTO) が大きすぎて、モバイル アプリケーションにとって不要なメンバーが含まれていることです。モバイル ネットワークを経由する場合は、パフォーマンスを向上させるためにこれらを削除したいと考えていますが、サービスの実装は同じです。

これまでのアイデア:

  • EmitDefault を false に設定し、モバイル呼び出し元の DTO のすべてのプロパティをマッピングしません (オートマッパーを使用しているため、複数のマッピング構成で何かを実行できる場合があります)。
  • KnownType 属性を使用して基本的なモバイル型を拡張する、デスクトップ用の継承された DTO 型。
  • 完全に別のサービスを構築するだけですが、すべてのロジックが共有ビジネス サービス レイヤーにあることを確認します (既にあるはずです)。

この要件に関するガイダンスがあるかどうかは誰にもわかりませんか?

4

1 に答える 1