1

アプリケーションの種類: バックエンドに RDBMS を使用する 3 層 Web アプリケーション

開発プラットフォーム

クライアント: Silverlight 3/ WPF サービス: Basic Http バインディングを使用した WCF Web サービス

問題定義: クライアント側でビジネスを処理し、データ集約型のオブジェクトをクライアントに渡すアプリケーションを開発しようとしています。オブジェクトがクライアント画面で表示および編集されたら、サーバー側のサービスに渡して保存する必要があります。問題は、そのデータがかなりの量であるため、オブジェクト全体をサービスに戻したくありません。例:- 行ごとに 10 行と 10 列のコレクションがあり、2 列のみが更新される場合。データのみを渡すことができるはずです。

質問: これは良い習慣ですか? はいの場合、達成するための最良の方法は何ですか?

解決策を試し てみました 2 つの解決策を試しました 1: 変更通知を行うイベント デリゲートを持つセッターを用意する 2: カスタム データ型を使用する

4

1 に答える 1

0

VSによって自動的に生成されたWCFWebサービスを使用している場合は、既知のクラスの送信にかなりの制約があります。したがって、情報の小さなチャンクを送信するには、その目的のために特別にいくつかの新しいクラスを定義する必要があります。このようなオブジェクトは、一般にDTO(データ転送オブジェクト)と呼ばれていると思います。したがって、10 x 10マトリックスを使用するシナリオの場合、DTOにはおそらく{x、y、value}トリプルのリストが含まれます。

REST Webサービスを使用している(そして独自のサービスを作成している)場合は、DTOクラスを完全に回避し、情報を伝達するのに十分なXMLスキーマを作成するだけです。たとえば、次の形式のサブ要素を持つトップレベルの要素:

<Deltas>
  <Delta x="3" y="9"> ...value subelementgoes here </Delta>
  ... more Delta elements
</Deltas>

その場合、RESTサービスは、サーバー側のデータベースレコードを段階的に更新する作業を行う必要があります。おそらく、データ型ごとに個別のRESTURLが必要になります。

HTH

明細書

于 2009-12-09T20:09:50.777 に答える