一个自定义数据契约
[DataMember(Name = "UserName", IsRequired = true, Order = 2)] public string UserName { set { _username = value; } get { return _username; } } [DataMember(Name = "ManagerLevel", IsRequired = false, Order = 7)] public int ManagerLevel { set { _managerlevel = value; } get { return _managerlevel; } }
截取了部分代码,string类型传输没问题,但是int类型,服务端永远都是0,把ManagerLevel改成string类型就一切正常,网上只看到有一个人遇到跟我一样的问题,但是没有答案。。。
找到问题了,IsRequired = true,但是该属性的解释是序列化与反序列化是是否为必要,在wcf看来,只要不是必要的int型,都不会被序列化传输?