此示例演示对未标记的类型的序列化支持,未标记的类型是指尚未应用序列化属性的类型,有时称作“简单传统 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 版本的解决方案,请按照生成 Windows Communication Foundation 示例中的说明进行操作。
若要用单机配置或跨计算机配置来运行示例,请按照Running the Windows Communication Foundation Samples中的说明进行操作。
![]() |
---|
您的计算机上可能已安装这些示例。在继续操作之前,请先检查以下(默认)目录:
<安装驱动器>:\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
|