Json   发布时间:2022-04-22  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了WCF(10):序列化(DataContractSerializer, XmlSerializer, DataContractJsonSerializer, SoapFormatter, Binary大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

http://www.itstrike.cn/Question/WCF-Serializer

介绍
WCF(Windows Communication Foundation) - 序列化:本文分别以DataContractserializer,Xmlserializer,DataContractJsonserializer,Soapformatter,BinaryFormatter为例


示例
1、服务
DataContractserializerObject.cs

using System;
System.Collections.Generic;
System.Linq;
System.Text;

System.Runtime.serialization;

namespace WCF.serviceLib.serialization
{
///<sumMary>
用于演示DataContract序列化的实体类
</sumMary>

//Namespace-数据契约的命名空间
[DataContract(Namespace="@R_673_10107@://webabcd.cnblogs.com/")]
publicclassDataContractserializerObject
{
Name-数据成员的名称
Order-数据成员的序列化和反序列化的顺序[DataMember(NameUniquEID,Order0GuidID{get;set;}

[DataMember(Order
1StringName2intAge3datetiR_873_11845@eTime
}

}


XmlserializerObject.cs
System.Runtime.serialization;
System.Xml.serialization;

WCF.serviceLib.serialization
{
用于演示XML序列化的实体类
Namespace-XML根元素的命名空间[XmlRoot(NamespaceXmlserializerObject
ElementName-生成的XML元素的名称
Order-序列化和反序列化的顺序[XmlElement(ElementNameGuidID

[XmlElement(Order
NameAgedatetiR_873_11845@eTimeSoapformatterObject.cs
WCF.serviceLib.serialization
{
用于演示Soap序列化的实体类
[serializable]
SoapformatterOjbect
GuidIDNameAgedatetiR_873_11845@eTimeBinaryFormatterObject.cs
WCF.serviceLib.serialization
{
用于演示Binary序列化的实体类
BinaryFormatterObject
GuidIDNameAgedatetiR_873_11845@eTimeDataContractJsonserializerObject.cs
WCF.serviceLib.serialization
{
用于演示JSON序列化的实体类
DataContractJsonserializerObject
GuidIDNameAgedatetiR_873_11845@eTime@H_412_301@
2、演示

Sample.aspx.cs

System.Collections;
System.Configuration;
System.Data;
System.Web;
System.Web.Security;
System.Web.UI;
System.Web.UI.HtmlControls;
System.Web.UI.WebControls;
System.Web.UI.WebControls.WebParts;
System.Xml.Linq;

System.IO;

API = WCF.serviceLib.serialization;

public partial class serialization_Sample:System.Web.UI.Page
protectedvoidPage_Load(objectsender,EventArgsE)
演示DataContractserializer的序列化和反序列化ShowDataContractserializer();

演示Xmlserializer的序列化和反序列化ShowXmlserializer();

演示Soapformatter的序列化和反序列化ShowSoapformatter();

演示BinaryFormatter的序列化和反序列化ShowBinaryFormatter();

演示DataContractJsonserializer的序列化和反序列化ShowDataContractJsonserializer();
}


演示DataContractserializer的序列化和反序列化
ShowDataContractserializer()
{
vardataContractserializerObject
newAPI.DataContractserializerObject{IDGuid.NewGuid(),NameDataContractserializer:rgb(128,Age28:rgb(0,TimedatetiR_873_11845@e.Now};

varserializer
System.Runtime.serialization.DataContractserializer(typeof(API.DataContractserializerObject));

序列化varms@H_667_20@memoryStream();

serializer.WriteObject(ms,dataContractserializerObject);

ms.Position
;
varsr
StreamReader(ms);
varstr
sr.ReadToEnd();
txtDataContractserializer.Text
str;


反序列化varbufferSystem.Text.Encoding.UTF8.GetBytes(str);
varms2
@H_667_20@memoryStream(buffer);
vardataContractserializerObject2
serializer.ReadObject(ms2)asAPI.DataContractserializerObject;
lblDataContractserializer.Text
dataContractserializerObjecT2.NAME;
}


演示Xmlserializer的序列化和反序列化
ShowXmlserializer()
{
varxmlserializerObject
API.XmlserializerObjectXmlserializerSystem.Xml.serialization.Xmlserializer((API.XmlserializerObject));

@H_667_20@memoryStream();

serializer.serialize(ms,xmlserializerObject);

ms.Position
sr.ReadToEnd();
txtXmlserializer.Text
@H_667_20@memoryStream(buffer);
varxmlserializerObject2
serializer.Deserialize(ms2)API.XmlserializerObject;
lblXmlserializer.Text
xmlserializerObjecT2.NAME;
}


演示Soapformatter的序列化和反序列化
ShowSoapformatter()
{
varsoapformatterOjbect
API.soapformatterOjbectShowSoapformatter;

varformatter
System.Runtime.serialization.Formatters.soap.soapformatter();

@H_667_20@memoryStream();

formatter.serialize(ms,soapformatterOjbect);

ms.Position
;
varstr
System.Text.Encoding.UTF8.GetString(ms.GetBuffer());
txtSoapformatter.Text
@H_667_20@memoryStream(buffer);
varsoapformatterOjbect2
formatter.Deserialize(ms2)API.soapformatterOjbect;
lblSoapformatter.Text
soapformatterOjbecT2.NAME;
}


演示BinaryFormatter的序列化和反序列化
ShowBinaryFormatter()
{
varbinaryFormatterObject
API.binaryFormatterObjectBinaryFormatterSystem.Runtime.serialization.Formatters.binary.binaryFormatter();

:rgb(0,binaryFormatterObject);

ms.Position
;
varbuffer
@H_667_20@ms.GetBuffer();
varstr
System.Text.Encoding.UTF8.GetString(buffer);
txtBinaryFormatter.Text
varms2@H_667_20@memoryStream(buffer);
varbinaryFormatterObject2
API.binaryFormatterObject;
lblBinaryFormatter.Text
binaryFormatterObjecT2.NAME;
}


演示DataContractJsonserializer的序列化和反序列化
ShowDataContractJsonserializer()
{
vardataContractJsonserializerObject
API.DataContractJsonserializerObjectDataContractJsonserializerSystem.Runtime.serialization.Json.DataContractJsonserializer((API.DataContractJsonserializerObject));

:rgb(0,dataContractJsonserializerObject);

ms.Position
sr.ReadToEnd();
txtDataContractJsonserializer.Text
@H_667_20@memoryStream(buffer);
vardataContractJsonserializerObject2
API.DataContractJsonserializerObject;
lblDataContractJsonserializer.Text
dataContractJsonserializerObjecT2.NAME;
}
}

大佬总结

以上是大佬教程为你收集整理的WCF(10):序列化(DataContractSerializer, XmlSerializer, DataContractJsonSerializer, SoapFormatter, Binary全部内容,希望文章能够帮你解决WCF(10):序列化(DataContractSerializer, XmlSerializer, DataContractJsonSerializer, SoapFormatter, Binary所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。