当前位置:编程学习 > asp >>

关于WCF数据契约和序列化的疑惑

这几天研究一下WCF的数据契约的用途,可是参考一些文章和例子,发现有两个问题,我有些不是很明白请WCF的高手给回复一下问题,还让所有的迷惑的朋友和我一起明白。
 
我一开始参考微软提供的DEMO中的关于数据契约的例子,我声明一个自定义的类,在上面加上数据契约看下面
 
public class Perons
 
{
 
 
}
 
[DataContract(Namespace="http://EssentialWCF",
 
 
Name="StockPrice")]
 
public
class
 clsStockPrice
 
{
 
[DataMember(Name =
"CurrentPrice",
 
 
Order =
0,
 IsRequired =
true)]
 
public
double
 theCurrentPriceNow;
 
 
 
[DataMember(Name =
"CurrentTime",
 
 
Order =
1,
 IsRequired =
true)]
 
public
 DateTime theCurrentTimeNow;
 
[DataMember]
 
public Perons ss;
 
 
 
}
 
 
其他的都没有疑问关键是蓝色部分我那个是类,但是这个类没有加数据契约,微软的例子是这样的并用英文解释说这样的话是不能被序列化的,我出于好奇,就将这个例子跑起来了可是,给这个类里定义的变量的数值依然和有DataMember一样取到数值了。如果依照英文解释应该不能有数值显示出来在客户端啊。但是DEMO运行起来还是有数值的。不知道问题出现在哪里,我用序列化方法也是讲类有和没有DataContract进行序列化输出到XML看到依然和上面例子一样看不出来区别或者效果来,我在网上找了半天也没有看到类似的文章,所以请WCF的高手来解释一下这里的奥秘所在,最后有DEMO,呵呵,另外就是序列化在网络传输上的应用最好也有DEMO
 
补充:Web开发 , ASP.Net ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,