WCF数据契约

时间:2023-03-10 03:49:15
WCF数据契约

WCF数据契约

当使用DataMember时,和访问符无关,及时使用了private,成员都是可见的。相反如果使用static,为不可见。

WCF数据契约

上述的两个数据成员是等效的,如果是等效的话 数据成员的顺序也必须是相同的。

WCF数据契约

4.数据契约已知类型——使用KownType特性。

因为数据类型都是在服务端协定好的,客户端为了兼容多种数据类型,所以可能参数为"比较大的类”(通常是基类)会使用KownType特性,以达到

发送的数据契约类型是从接收端期望接收的数据契约类型继承

的目的。

客户端代码:

下面是客户端参数:

static  void Test(ComplexNumber cn)
        {
          double d =  cn.imaginary;
        }

当然有时间客户端只有

ComplexNumber 的子类ComplexNumberChild(这两个类都是服务端定义的类)

为了在客户端使用Test方法的多态,就可以在定义ComplexNumber 时使用KownType。

[KnownType(typeof(ComplexNumberChild))]
    public class ComplexNumber{}

五、服务版本控制

WCF数据契约

WCF数据契约