新聞中心
VB.NET編程語(yǔ)言的應(yīng)用,為開(kāi)發(fā)人員帶來(lái)了非常大的好處。其中有很多比較新穎的技術(shù)和功能讓程序員們眼前一亮。這里是一個(gè)簡(jiǎn)單的控制臺(tái)應(yīng)用程序,它通過(guò)使用System.Runtime.Serialization名字空間演示了VB.NET對(duì)象序列(Object Serialization)。 #t#

靖州網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
什么是對(duì)象序列(Object Serialization)?
序列化是把圖式對(duì)象轉(zhuǎn)換成為線性字節(jié)序列的過(guò)程。字節(jié)序列可以發(fā)送到別處,例如遠(yuǎn)程計(jì)算機(jī),然后執(zhí)行序列解碼,這樣就在遠(yuǎn)程主機(jī)內(nèi)存中生成了原來(lái)圖式對(duì)象的克隆。序列化過(guò)程在VB.NET中是十分容易使用的,而且是開(kāi)放的,每個(gè)VB6的程序員都曾經(jīng)自覺(jué)或不自覺(jué)地使用過(guò)序列化。當(dāng)任何ActiveX dll或者ActiveX exe被創(chuàng)建后,都有五個(gè)屬性可以設(shè)置,最后一個(gè)Persistable屬性就是VB6中的序列化。VB6中序列化的過(guò)程不需要用戶認(rèn)知,大部分開(kāi)發(fā)人員也從來(lái)不管序列化做了什么和如何運(yùn)作。在VB.NET中,有著公共對(duì)象庫(kù),每個(gè)支持.NET體系的語(yǔ)言都可以通過(guò)System.Runtime.Serialization的名字空間來(lái)理解和使用VB.NET的序列化特征。
我們?cè)?.NET中做序列化的時(shí)候,Runtime這個(gè)元數(shù)據(jù)“知道”每個(gè)對(duì)象在內(nèi)存中的存放規(guī)劃,它有對(duì)這些區(qū)域和屬性的定義,這使得VB.NET對(duì)象序列自動(dòng)執(zhí)行,不用對(duì)序列化各區(qū)域編寫(xiě)代碼。
序列化流可以用XML進(jìn)行編碼,或者壓縮成二進(jìn)制數(shù)據(jù)表示。具體格式?jīng)Q定于調(diào)用的格式化對(duì)象。可插入的格式化對(duì)象允許開(kāi)發(fā)人員使用兩種已提供的格式:binary 和 SOAP,或者自行創(chuàng)建新的格式來(lái)進(jìn)行對(duì)象的序列化。
序列化可以替代任何流,象MemoryStream、NetStream等,而不僅僅是FileStream。
序列化操作使用到下面的幾個(gè)類:
Formatter:負(fù)責(zé)按照指定格式將對(duì)象數(shù)據(jù)寫(xiě)入到輸出流。
ObjectIDGenerator:負(fù)責(zé)創(chuàng)建對(duì)象的Ids。它跟蹤已經(jīng)可見(jiàn)的對(duì)象,當(dāng)你要求這個(gè)對(duì)象的ID時(shí),或者返回存在的ID,或者創(chuàng)建一個(gè)新ID。
ObjectManager:負(fù)責(zé)跟蹤序列解碼時(shí)的對(duì)象。
例程說(shuō)明
這里的例子描述了將內(nèi)存中的VB.NET對(duì)象序列操作保存到磁盤(pán)的過(guò)程。它將創(chuàng)建一個(gè)單一連接列表,填充滿數(shù)據(jù),然后序列化到磁盤(pán)的文件中。接著列表被解碼,恢復(fù)成內(nèi)存中的一個(gè)對(duì)象。
當(dāng)前標(biāo)題:VB.NET對(duì)象序列劇本概念剖析
當(dāng)前鏈接:http://www.5511xx.com/article/cdjdeip.html


咨詢
建站咨詢
