WCF内置数据类型的序列化
我在服务端创建一个对象,代码大致如下:
public class Entity1
{
[DataMemberAttribute()]
public Int32 ItemInt { get; set; }
}
在客户端引用此对象时,多了一个属性:private bool itemIntFieldSpecified;
现在的问题时,如果在客户端我不对这个多出来的属性设置为true,服务端反序列化出来的对象中,那个ItemInt 就会变成0。
经过我的测试,除了string外的所有内置类型都会加一个对应的bool类型的FieldSpecified属性。
请问为什么会这样,系统中有没有什么地方可以设置不添加这个属性,或者这个属性默认为true?
[解决办法]
这主要是为了匹配不同版本的契约而设置的。
[解决办法]
这主要是为了匹配不同版本的契约而设置的。
[解决办法]
试试用 用XmlSerializer代替DataContractSerializer
例子:
[ServiceContract]
[XmlSerializerFormat]
public interface IService1
{
[OperationContract]
List<CustomerObjectOfDataContract> GetDataFromListOfDataContract();
[OperationContract]
List<CustomerObjectOfSerializable> GetDataFromListOfSerializable();
[OperationContract]
DataTable GetDataFromDataTable();
}
[解决办法]
LZ,现在又没有解决方案?