POCO 支持

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

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

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

Cc681329.note(zh-cn,VS.100).gif注意:
本主题的末尾介绍了此示例的设置过程和生成说明。

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 版本的解决方案,请按照生成 Windows Communication Foundation 示例中的说明进行操作。

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

Cc681329.Important(zh-cn,VS.100).gif 注意:
您的计算机上可能已安装这些示例。在继续操作之前,请先检查以下(默认)目录:

<安装驱动器>:\WF_WCF_Samples

如果此目录不存在,请访问针对 .NET Framework 4 的 Windows Communication Foundation (WCF) 和 Windows Workflow Foundation (WF) 示例(可能为英文网页),下载所有 Windows Communication Foundation (WCF) 和 WF 示例。此示例位于以下目录:

<安装驱动器>:\WF_WCF_Samples\WCF\Basic\Contract\Data\POCO

另请参见

参考

IgnoreDataMemberAttribute

概念

可序列化类型