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

wince中wcf中传递数据的有关问题,string能够传递,但int,double等等却都是0了

2012-12-22 
wince中wcf中传递数据的问题,string能够传递,但int,double等等却都是0了,在compact framework中,c#的,中传

wince中wcf中传递数据的问题,string能够传递,但int,double等等却都是0了,
在compact framework中,c#的,中传递了一个对象,结构如下:   
[DataContract]
  public class CProdList
  {
  [DataMember]
  public string _ID { get; set; }   
  [DataMember]
  public string _BillID { get; set; }   
  [DataMember]
  public int SN { get; set; }   
  [DataMember]
  public string Code { get; set; }   
  [DataMember]
  public double Net { get; set; }  
  }

在服务器中收到,string类型的数据没有问题,_id,code,但int和double都成了0了,还是第一次遇到这个问题。
从客户端到服务器端有问题,
但从服务器端下载数据没有任何问题,比较怪异!!

追踪下来,发现发送之前,除了string序列化了,int 和double等类型没有序列化,
有谁知道如何解决啊?

[最优解释]
吧[DataContract],[DataMember]都去掉试试,.net3.5不需要写这个了。
[其他解释]
不应该吧,真是奇怪。
[其他解释]
这真奇怪。。。你这个CProdList有父类么?
[其他解释]
该回复于2011-12-01 11:27:29被版主删除
[其他解释]
去掉了[DataContract],[DataMember],效果一样,但怪异的是:如果CProdList中包含其他对象,比如

[DataContract]
  public class CProdList
  {
  [DataMember]
  public string _ID { get; set; }   
  [DataMember]
  public string _BillID { get; set; }   
  [DataMember]
  public int SN { get; set; }   
  [DataMember]
  public string Code { get; set; }   
  [DataMember]
  public double Net { get; set; }   
  
[DataMember]
public Persion P{get;set;}
  }

public class Persion
{
public double m;

public int i;

public string s;
}

对象persion序列化没有问题,但CProdList中的其他double,int还是没有序列化

[其他解释]
对了,是将这个类当成接口的参数来传递的,
比如: 
CProdList p = new CProdList;
......  
client.Do(p);

[其他解释]
解决了,必须得加
[DataMember(IsRequired = true, Order = 1)]
。。。

热点排行