新聞中心
經(jīng)過長時間積累WCF方面的知識,對它也有一定的認識,在這里分享給大家,看完本文你肯定有不少收獲,希望本文能教會你更多東西。知道數(shù)據(jù)契約的一些概念和特性之后,下面來介紹一下WCF序列化的概念。為什么WCF序列化:我們這里先來介紹一下為什么需要序列化。當然這個不是必須的。只是針對特定的開發(fā)平臺的數(shù)據(jù)或者信息類型而言,當一個系統(tǒng)或者說平臺需要和別的異構(gòu)的系統(tǒng)或者平臺交互的時候,兩個系統(tǒng)需要一個特定的公開的可以公用的行業(yè)標準來支持這個數(shù)據(jù)信息的交互。這里目前來說支持這個數(shù)據(jù)交互傳遞的語言載體就是XML.

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比葉城網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式葉城網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋葉城地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。
#T#同樣WCF作為面向服務(wù)的編程框架,它的目標或者特性之一就是實現(xiàn)服務(wù)的跨語言、平臺,與不同的服務(wù)進行信息數(shù)據(jù)的交互,而不限制客戶端的系統(tǒng)或者開發(fā)語言。要實現(xiàn)這個目標,WCF服務(wù)首先就是要面對信息的傳遞與共享問題。我們知道WCF服務(wù)和客戶端可以傳遞如Int、String等.NET數(shù)據(jù)類型。但是如何實現(xiàn)用戶自定義復雜類型的跨服務(wù)邊界的傳遞,這是一個關(guān)鍵問題。數(shù)據(jù)契約可以發(fā)布為服務(wù)的元數(shù)據(jù),允許客戶端轉(zhuǎn)化為本地語言表示。解決的辦法就是封送(Marshaling),將對象封送到其它平臺。基于WCF的客戶端和服務(wù)端參數(shù)傳遞的過程如下圖:
WCF序列化
主要步驟:客戶端序列化參數(shù)為XML信息集--傳遞->服務(wù)端反序列化為本地類型--執(zhí)行結(jié)果->序列化結(jié)果為XML信息集--傳遞->客戶端序反序列化返回信息為本地類型。
在WCF分布式開發(fā)必備知識(2):.Net Remoting一節(jié)中也介紹了.Net Remoting的通信過程 ,兩者也有流程也有部分相似之處。對象封送的概念其實.Net Remoting早有涉及,遠程對象(RemoteOject),也就是我們遠程要訪問的對象.首先定義一個Class,繼承MarshalByRefObject,可以使用在remoting應(yīng)用中,支持對象的跨域邊界訪問??催^.Net Remoting這節(jié)文章應(yīng)該還有點印象,不同之處是WCF的對象封送是為跨越服務(wù)邊界,.Net Remoting的封送是為了跨越跨域邊界。相關(guān)的概念請查閱WCF分布式開發(fā)必備知識(2):.Net Remoting或者MSDN,都能找到詳細的介紹,這里不在詳述。
網(wǎng)頁標題:圖文演示W(wǎng)CF序列化流程
文章來源:http://www.dlmjj.cn/article/djehopi.html


咨詢
建站咨詢
