序列化是将对象转换为字节流以存储对象或将其传输到内存,数据库或文件的过程。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;} } }
[DataContract]属性与类一起使用。在这里,它装饰有Person阶级。
[OperationContract]用于方法。在这里用Add方法装饰。
[DataMember]属性与属性一起使用。那些用[DataMember]属性修饰的属性,只有那些可用,代理才能访问。在这里,我们有2个属性,这些属性id不可访问且Age可访问。
[DataMember] 当您不想向外界显示私有字段而只想显示公共属性时,属性非常方便。
使用[DataMember]属性,您可以拥有一些属性。他们如下
DataMember的属性
一种。IsRequired可以这样使用[DataMember(IsRequired=true)]
b。Name可以这样使用[DataMember(Name=“RegistrationNo”)]
C。order可以这样使用[DataMember(order=1)]
如果不指定属性,我们将无法访问与我们一起工作的项目中的类/方法/属性(此示例为wcf服务接口)。
这些属性使代码在运行时可以通过各个项目进行访问的方式称为“序列化”。
使用WCF,您可以使用序列化与其他项目,应用程序或任何其他软件进行通信,而无需进行设置端点,手动创建流和维护它们的所有工作。更不用说将所有数据转换为字节,反之亦然。