序列化





0/5 (0投票)
序列化的过程是将对象转换为一种形式,以便可以通过网络传输或放置在存储位置。
序列化的过程是将对象转换为一种形式,以便可以通过网络传输或放置在存储位置。存储位置可以是物理文件、数据库或 ASP.NET 缓存。对象的状态以某种形式保存,以便稍后可以重新构造它,这被称为反序列化。
序列化有三种格式
- 二进制序列化 - 轻量且紧凑,用于 Remoting
- SOAP 序列化 - 具有互操作性,使用 SOAP 且用于 Web 服务
- XML 序列化 - 自定义序列化
在本文中,我将提供一个 XML 序列化的示例。
XML 序列化
对于 XML 序列化,每个公共成员都需要一个属性,这是必要的。它只能序列化公共成员。
它也被称为浅序列化。
以下是在访问数据库数据时进行序列化的代码。
Dim cnnConnection As New SqlConnection()
Try
'声明局部变量
Dim drdDetails As SqlClient.SqlDataReader = Nothing
Dim objSer As New BLL.SerCollection
Dim cmdDetails As SqlCommand = Nothing
cnnConnection.ConnectionString = System.Configuration.ConfigurationManager.ConnectionString["ConnectionString"].DBConnectionString
cmdDetails = New SqlCommand(PROC_SELECT_FOR_SEARCH, cnnConnection)
'设置超时并将参数添加到存储过程
cmdDetails.CommandTimeout = 30
cmdDetails.CommandType = CommandType.StoredProcedure
cmdDetails.Parameters.Add("@Search", SqlDbType.VarChar).Value = strSearch
'打开连接并获取查询结果
cnnConnection.Open()
Dim XMLR As System.Xml.XmlReader = cmdDetails.ExecuteXmlReader
Dim serializer As XmlSerializer = New XmlSerializer(GetType(BLL.SerCollection))
objSer = CType(serializer.Deserialize(XMLR), BLL.SerCollection)
Return objSer
Catch ex As Exception
'异常块
Throw New DBException(ex, "Get 方法失败")
Return Nothing
Finally
cnnConnection.Close()
End Try