3

wcf サービスで出力としてのみ使用される次の列挙型を指定します。

[DataContract] 
public enum Role
{
   [EnumMember]
   Undefined = 0,

   [EnumMember]
   Admin,

   [EnumMember] 
   Supervisor,

   [EnumMember]
   User
}

...既存のクライアントとの互換性を損なうことなく整数値を変更できるというのは本当ですか? このような:

[DataContract] 
public enum Role
{
   [EnumMember]
   Undefined = 0,

   [EnumMember]
   Admin = 10,

   [EnumMember] 
   Supervisor = 20,

   [EnumMember]
   User = 30
}

私の知る限り、列挙は wcf (より正確には石鹸) を介して文字列として転送されます。ここで見逃しているものはありますか?

4

1 に答える 1

1

WCF クライアントを使用し、DataContract と DataContractSerializer を使用する場合、WCF はデータ コントラクトの数値を保持します。

そうでない場合は、メンバー名のみが転送されます。

ソース: http://msdn.microsoft.com/en-us/library/aa347875.aspx

于 2013-10-10T15:42:08.577 に答える