0

一連のドメイン エンティティ (NHibernate によってマップされる) とサービス コントラクトを持つ WCF アプリケーションがあります。現在、サービス コントラクトを介してエンティティを WCF クライアントに直接公開しています。しかし、これにより、特にシリアル化に関連する WCF データ コントラクトの多くの制限に遭遇します。たとえば、円グラフの制限、KnownTypes など。

サーバー側だけでエンティティを使用し、DTO を使用して WCF サーバーとクライアント間でオブジェクトを転送する方が良い方法のようです。私は正しいですか?である必要がありますか?

4

1 に答える 1

3

WCF はメッセージ ベースのシステムです。基本的に、XML シリアル化されたデータ メッセージを介してクライアントとサーバーを接続します。したがって、WCF は静的データのみを送受信できます。これは、サイレントからサーバーに機能を転送して戻す「リモート プロシージャ コール」または「リモート オブジェクト」システムではありません。

WCF 転送はすべて XML シリアライズ可能である必要があるため、実際にはデータに関するものであり、そうです。WCF は、DTO スタイルのデータ オブジェクトを送受信するのに最適です。

于 2013-02-09T07:33:49.400 に答える