【问题标题】:wcf - are enums backward compatible when changing the integer values?wcf - 更改整数值时枚举是否向后兼容?
【发布时间】:2013-10-10 15:34:57
【问题描述】:

给定以下仅在 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
}

AFAIK 枚举通过 wcf(更准确地说是肥皂)作为字符串传输。这里有什么我想念的吗?

【问题讨论】:

    标签: .net wcf enums backwards-compatibility


    【解决方案1】:

    当使用 WCF 客户端并使用 DataContract 和 DataContractSerializer 时,WCF 会在数据协定中保留数值。

    如果不是这样,只会转移会员名。

    来源:http://msdn.microsoft.com/en-us/library/aa347875.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多