POCO 支持
POCO 示例演示对未标记的类型的序列化支持,未标记的类型是指尚未应用序列化属性的类型,有时称作“简单传统 CLR 对象 (POCO)”类型。 DataContractSerializer 为所有具有无参数构造函数的公共未标记类型推断一个数据协定。 数据协定允许您在服务中传入和传出结构化数据。 有关未标记类型的详细信息,请参阅可序列化类型。
本示例基于入门指南,但使用复数代替基元数字类型。 它还与基本数据协定示例类似,区别是不使用 DataContractAttribute 和 DataMemberAttribute 属性。
服务是由 Internet 信息服务 (IIS) 承载的,客户端是一个控制台应用程序 (.exe)。
注意
本主题的最后介绍了此示例的设置过程和生成说明。
ComplexNumber
类在 ServiceContract
中使用。 ComplexNumber
类型没有 DataContractAttribute 和 DataMemberAttribute 属性,如下面的示例代码所示。 默认情况下,所有公共属性和字段均被序列化。
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;
}
}
设置、生成和运行示例
若要生成 C# 或 Visual Basic .NET 版本的解决方案,请按照 Building the Windows Communication Foundation Samples中的说明进行操作。
要使用单机配置或跨计算机配置来运行示例,请按照运行 Windows Communication Foundation 示例中的说明进行操作。