2
假设我有一个像这样正在改变wcf合约的枚举改变的基础类型?
[DataContract]
public enum VMType : int
{
[EnumMember]
Unknown = 0,
[EnumMember]
Virtual = 1,
[EnumMember]
Physical = 2,
}
[DataContract]
public class ClientRequest
{
[DataMember]
public string Code { get; set; }
[DataMember]
public VMType VMType { get; set; }
}
[ServiceContract]
public interface IService
{
[OperationContract]
int GetStatus(ClientRequest request);
}
,如果改变枚举VMType
到
public enum VMType : byte
{
这被认为是一个重大更改一个简单的WCF服务?旧的WCF客户端是否仍然能够连接到新的服务主机?
按Enumeration Types in Data Contracts
一般的数据合同包括枚举成员的名字,而不是数值
你有任何引用**改变序列化**,根据MSDN枚举数据类型通常使用**枚举成员名称,而不是数值** – 2012-08-13 16:35:41
@parapurarajkumar它完全取决于正在使用的数据合同。通常,枚举将被串行化为一个字符串,但也有例外,例如JSON序列化程序(http://msdn.microsoft.com/zh-cn/library/bb412170.aspx) – 2012-08-13 16:53:34