首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

WCF内置数据类型的序列化解决办法

2013-01-04 
WCF内置数据类型的序列化我在服务端创建一个对象,代码大致如下: public class Entity1{[DataMemberAttribu

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,现在又没有解决方案?

热点排行