关于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 ,