.net wcf-更改整数值时枚举是否向后兼容?
给定以下仅在wcf服务中用作输出的枚举:.net wcf-更改整数值时枚举是否向后兼容?,.net,wcf,enums,backwards-compatibility,.net,Wcf,Enums,Backwards Compatibility,给定以下仅在wcf服务中用作输出的枚举: [DataContract] public enum Role { [EnumMember] Undefined = 0, [EnumMember] Admin, [EnumMember] Supervisor, [EnumMember] User } …我可以更改整数值而不破坏与现有客户端的兼容性,这是真的吗?像这样: [DataContract] public enum Role {
[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(更准确地说,是soap)传输。我在这里遗漏了什么吗?在使用WCF客户端和DataContract以及DataContractSerializer时,WCF会在数据协定中保留数值 如果不是这种情况,则只传输成员名称 资料来源: