Java で記述されたクライアントによって呼び出される WCF サービスがあります。このサービスは、データベース内のモデルを編集できます。モデルには多くのプロパティがありますが、ID プロパティ以外に変更が必要なプロパティのみをユーザーに設定してもらいたいと考えています。問題は、サービス側で、プロパティが変更されたかどうかをどのように判断できるかということです。
質問する
45 次
2 に答える
0
サービス操作要求の一部として型のインスタンスを送信する場合、WCF には、クライアントが受信した型の同じインスタンスを送り返す場合でも、プロパティが異なるかどうかを知る方法が組み込まれていません。以前のサービス応答の一部。
これを判断するために、WCF は何らかの方法で要求間で型インスタンスをメモリに保持し、受信したインスタンスをメモリに保持されているそれぞれのインスタンスと関連付けるメカニズムを備えている必要があります。
ただし、これを処理するには、データ コントラクト タイプを変更して、各プロパティに HasChanged フラグを含める必要があると思います。次に、クライアントでプロパティを更新するときに、HasChanged フラグも設定する必要があります。
ただし、これは、サービスを使用するときに遵守する規則としてクライアントに伝える必要があり、この使用法を実際に強制することはできません.
もちろん、別の方法として、サービスがデータベースに対する要求を調べて、何が変更されたかを確認することもできます。
于 2013-08-08T11:32:51.517 に答える