POCO 支持

POCO 示例演示对未标记的类型的序列化支持,未标记的类型是指尚未应用序列化属性的类型,有时称作“简单传统 CLR 对象 (POCO)”类型。 DataContractSerializer 为所有具有无参数构造函数的公共未标记类型推断一个数据协定。 数据协定允许您在服务中传入和传出结构化数据。 有关未标记类型的详细信息,请参阅可序列化类型

本示例基于入门指南,但使用复数代替基元数字类型。 它还与基本数据协定示例类似,区别是不使用 DataContractAttributeDataMemberAttribute 属性。

服务是由 Internet 信息服务 (IIS) 承载的,客户端是一个控制台应用程序 (.exe)。

注意

本主题的最后介绍了此示例的设置过程和生成说明。

ComplexNumber 类在 ServiceContract 中使用。 ComplexNumber 类型没有 DataContractAttributeDataMemberAttribute 属性,如下面的示例代码所示。 默认情况下,所有公共属性和字段均被序列化。

public class ComplexNumber
{
    public double Real;
    public double Imaginary;
    public ComplexNumber()
    {
        Real = double.MinValue;
        Imaginary = double.MinValue;
    }
    public ComplexNumber(double real, double imaginary)
    {
        this.Real = real;
        this.Imaginary = imaginary;
    }
}

设置、生成和运行示例

  1. 请确保已执行 Windows Communication Foundation 示例的一次性安装过程

  2. 若要生成 C# 或 Visual Basic .NET 版本的解决方案,请按照 Building the Windows Communication Foundation Samples中的说明进行操作。

  3. 要使用单机配置或跨计算机配置来运行示例,请按照运行 Windows Communication Foundation 示例中的说明进行操作。

另请参阅