2

ユーザーが大きなオブジェクトを更新できるようにするには、WCF API を定義する必要があります。小さなメソッドをいくつか定義して、ユーザーが大きなオブジェクトの特定の部分を一度に更新できるようにすることもできます。しかし、何らかの理由で私はそれを行うことができません。私が試したもう 1 つの方法は、データ コントラクトをキーと値のコレクション (キーは でenum、値は文字列) として定義し、ユーザーが更新したいものを追加できるようにすることです。この API は非常にコンパクトですが、直感的ではなく、ユーザーを混乱させる可能性があります。また、値は文字列型であるため、タイプセーフではありません。

これで、ユーザーがオブジェクト全体を更新できる 1 つの API を作成しました。例えば:

public UpdateResult UpdateAPI(UpdateParam param){}

これで、UpdateParamクラスはいくつかの null 許容フィールドになります。

Q: フィールドの 1 つに null 値がある場合、サーバー側で null 値がユーザーによって指定されたか、それともデフォルトの指定されていない値であるかをどのように区別できますか? 着信 SOAP メッセージに、差別化に役立つ何かがありますか?

どんな助けでも大歓迎です。

同様の質問は、1.データ メンバーのデフォルト値、何かが本当に送信されたかどうかを確認する方法は? 2.

4

1 に答える 1

3

いいえ、私が知る限り、null 可能なフィールドしかない場合、条件を区別する方法はありません...

ただし、値がユーザーによって設定されたのか、それともデフォルト値のままなのかを示すフラグとして機能する、プロパティごとに追加の bool を提供できます。

プロパティのセッターを実装して、プロパティが設定されたときに対応するブール値を自動的に設定できます

于 2013-04-09T23:47:18.900 に答える