2011-03-01 11 views

答えて

3

いいえ.WCFはメッセージベースのシステムなので、クライアントとサービスを接続するものはすべて、ワイヤでXMLシリアル化されたメッセージ(およびその形式)です。

WCFランタイムはすべて、クライアント側のクラスの1つをXMLでシリアル化するときに、ワイヤ上の表現がサーバーと同じになるようにデータ構造を再作成することができますサイドクラス。あなたが通信の両端をコントロールしている場合、例えば:言っ

クライアントがサーバーの腸の中に「到達」する方法がないとデータの注釈などの.NET特定のものを知る...

あなたが取ることができる別のアプローチがあります、サーバーとクライアントの両方を記述します。

  • (ちょうど契約)あなたのサービスとデータ契約に別のクラスライブラリアセンブリを作成、参照、共通の共有アセンブリは、サーバーコードの両方からクライアントサイドプロジェクトの前にサービス参照を追加する
  • サービス参照を追加すると、デフォルトでWCFランタイムは既存のタイプを再利用します。サービス参照をサービスに追加し、データクラスMyDataが必要で、そのクラスが参照されている共有アセンブリに存在する場合、WCFランタイムは、新しい別個のクライアントサイドプロキシクラスを再作成する代わりに、この「トリック」で

、あなたはサービスとクライアント間の特定のクラス(例えばデータクラス)を共有することができます - すべての.NETは「いいえ」で答えを開始するためにそれ

+0

1の属性を含め、多くのpplは長い答えに答え、結論を指摘する(時々彼らはこの部分を見逃し、結論を決める)。ありがとう! – Shimmy

+0

@ Shimmy:ありがとう!私はちょっと助けることができたと思います(そして何が起こっているのか、なぜなのかを明らかにしてください) –

+0

サーバdllの同じライブラリをソースとして使用できますか?または何? EDMエンティティの生成を使用するとどうなりますか? – Shimmy

関連する問題