0

私はかなり大きな WSSF プロジェクトに取り組んでいます。ビジネス層に通常のオブジェクト モデルがあります。たとえば、顧客には注文コレクション プロパティがあり、これにアクセスすると、データ レイヤーから読み込まれます (遅延読み込み)。オーダーには productCollection プロパティなどがあります。

今、私がトリッキーだと思っているのは、これを WCF 経由で公開することです。注文のコレクションをエクスポートしたい。クライアント アプリには、顧客に関する情報も必要です。WSSF データ コントラクト デザイナーを使用して、顧客が「注文コレクション」と呼ばれるプロパティを持つように設定しました。顧客オブジェクトがあり、注文を確認したい場合はこれで問題ありませんが、注文オブジェクトがある場合、顧客プロパティがないため、階層を上に行くことはできません。

注文オブジェクトに顧客プロパティを追加しようとしましたが、データ コントラクトをロードするときにコードがループに陥ります。これは、ビジネス層のようにオンデマンドで読み込まれないためです。オブジェクトを WCF 経由で送信する前に、すべてのプロパティを読み込む必要があります。最終的に注文をロードし、次にその注文の顧客、その顧客の注文、その注文の顧客など...

私はこれをすべて間違っていると確信しています。ヘルプ!!

4

1 に答える 1

0

一般に、WCF では、コントラクトを「リモート オブジェクト」ではなく、データを取得または渡すために呼び出すことができるインターフェイスと考えるのが最善です。

返されたオブジェクトに対して呼び出されたメソッドは、オブジェクトが発生した場所ではなく、ローカルで処理されます。実際、サーバーから「同じ」オブジェクトを 2 回取得すると、通常、クライアント側では 2 つのまったく別のオブジェクトになります。

あなたが求めている種類の機能を得るには、おそらくクライアント側のコードを記述して、リモート オブジェクトの「イリュージョン」を作成する必要があります。

于 2010-02-08T07:56:51.000 に答える