今遇到WCF序列化BUG,代码如下:
/// <summary> /// 包含数据的返回对象 /// </summary> /// <typeparam name="T">实际返回的数据对象</typeparam> [DataContract] public class Message<T> { /// <summary> /// 状态码,执行正常返回200 /// </summary> [DataMember(Name="code")] public int Code { get; set; } /// <summary> /// 返回的对象,执行异常或原无返回信息时,该属性为null。 /// </summary> [DataMember(Name = "data")] public T Data { get; set; } } /// <summary> /// 不包含数据的返回对象 /// </summary> public class Message { /// <summary> /// 状态码,执行正常返回200 /// </summary> [DataMember(Name = "code")] public int Code { get; set; } }在作为服务方法返回参数序列化时,对象Message<T>能正常序列化,而Message却不行,序列化的Code首字符是大写,而不是如DataMember中定义的code。没法,只能暂时把所有字段定义的首字符全部变成小写来解决问题。
版权声明:本文为博主原创文章,未经博主允许不得转载。
WCF问题集锦:未按照DataMember定义的名称序列化对象
原文地址:http://blog.csdn.net/mole/article/details/46910649