创建wcf类时我曾经做过
[DataContract]
Public class Customer
{
[DataMember]
public string Name {get;set}
}
我被告知最好这样做
[DataContract]
Public class Customer
{
[DataMember]
public string Name ;
}
基本上删除了get和set,因为它会更轻
是这样的吗?
任何建议
答案 0 :(得分:0)
当您使用自动属性(仅使用get; set;且没有后备变量)时,会随机生成成员变量(您可以使用Reflector或ILDASM来查看它)。根据序列化方案,此变量可以序列化。
如果重建,则会重新生成成员变量名 ,这可能会导致使用旧DLL序列化的对象反序列化时出错。以同样的方式,发送给客户的DLL可能具有OLD生成的成员变量,因此WCF通信可能会抛出异常。