今遇到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。没法,仅仅能临时把所有字段定义的首字符所有变成小写来解决这个问题。