0

プロジェクトのいくつかのWCF契約を定義しています。

あるケースでは、ステータスフィールドを送信したい場合があります。これをテキストとして送信するだけです。

  • これらのx文字列値のみが許可されることをWCFコントラクトで指定できますか?
  • 列挙型を使用する方が良いでしょうか?

JavaWebサービスと相互運用します。

4

1 に答える 1

4

いいえ、できませんが、列挙型を使用して、文字列の制限されたリストと同等のスキーマに変換することができます。これは、許可された文字列値の範囲を簡単に確認できるため、WCF以外のクライアントにも役立ちます。

残念ながら、列挙型には、バージョン管理に関してWCFに不幸な手荷物が含まれています。具体的には、新しい列挙型を追加したり、既存のWCFクライアントを壊したりすることはできません。したがって、新しい列挙型を追加することは、重大な変更と見なされます。

これら2つのオプションを比較検討し、どちらが最適かを判断する必要があります。「純粋な」文字列を選択した場合は、値を自分で検証する必要があります。これはIParameterInspector、制約したいデータコントラクトを使用する可能性のあるすべてのサービスにフックできるを作成することで、一般的に行うことができます。

于 2011-05-16T14:17:39.503 に答える