WCF 中的序列化

序列化是将对象转换为字节流以便存储对象或将其传输到内存,数据库或文件的过程。 Microsoft 页面序列化

以下示例演示了 WCF 中的序列化:

[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]   
public interface IPerson 
{

    [OperationContract]
    void Add(Person person);

    [DataContract]
    public class Person
    {
        private int id;

        [DataMember]
        public int Age{ set; get;}
    }
}
  1. [DataContract] 属性与类一起使用。这里装饰有 Person 级。

  2. [OperationContract] 用于方法。这里用 Add 方法装饰。

  3. [DataMember] 属性与属性一起使用。那些用 [DataMember] 属性装饰的人只有那些可供代理人访问的属性。在这里,我们有 2 个属性,id 无法访问,Age 可访问。

  4. [DataMember] 当你不想向外界显示私有字段并且只想显示公共属性时,属性很方便。

  5. 使用 [DataMember] 属性,你可以使用某些属性。它们如下

DataMember 的属性

一个。IsRequired 可以像这样使用 [DataMember(IsRequired=true)]

Name 可以像这样使用 [DataMember(Name=RegistrationNo)]

C。order 可以像这样使用 [DataMember(order=1)]

如果不指定属性,我们将无法访问我们使用的项目中的类/方法/属性(这个例子是 wcf 服务接口)。

这些属性使代码在运行时通过单个项目可访问的方式称为序列化

  • 使用 WCF,你可以使用序列化与其他项目,应用程序或任何其他软件进行通信,而无需完成设置端点,手动创建流和维护流的所有工作。更不用说将所有数据转换为字节,反之亦然。