關於MarshalByRefObject的解釋

2022-01-19 13:33:41 字數 892 閱讀 5406

首先了解一下不同應用程式域中的物件的通訊方式有兩種:

一種是跨應用程式域邊界傳輸物件副本

一種是使用**交換訊息。

簡單來講,繼承此類的物件可以跨越應用程式域邊界被引用,甚至被遠端引用.

當乙個物件需要長途跋涉到另乙個環境中時,需要將其marshal成乙個可以傳輸的形態(比如在.net remoting中物件將被打包成乙個serializable的objref例項——這個byref就是指objref這種形態);同理,當打包以後傳輸到目標地點,還要執行unmarshal的操作將其還原為記憶體中的物件

你實際上只擁有對這個物件的乙個遠端引用,雖然你可以呼叫它的方法,但實際上這些操作都是發生在遠端的(就是前面講過的過程)

別外解釋一下webservice,

web services 使用 xml 來編譯碼資料,並使用 soap(通訊協議)來傳輸資料。大家可以發現webservice**類的marshalbyrefobject物件的。

remoting 是marshbyreference的,可以傳變數的引用,直接對伺服器物件操作。速度快,適合intranet(企業內部網際網路)。

webservice 是marshbyvalue的,必須傳物件的值。速度慢,可以過firewall,配置比較簡單,適合internet(網際網路)。

概括的說remoting與web services的區別是:

(1)既支援tcp通道又支援http通道,傳輸速度快

(2)即可傳輸xml的soap包又可傳輸二進位製流,效率高

(3)remoteing主要用於c/s結構專案

(4)不一定要依賴iis伺服器

一般來說,remoting是和平台相關的,需要客戶和伺服器都是.net,但可配置特性比較好,可以自定義協議。web service可以做到跨平台通訊,但必須採用soap協議。

關於程式關於世界

首先,在學了1年多的軟體設計的基礎上,問下自己 程式是什麼?業務需求是什麼?程式有什麼用?什麼是演算法?什麼是資料庫?或許每個人的理解不同,會給出不同的答案。那麼自己的理解 程式是乙個讓計算機工作的流程,在程式寫好之後,計算機就會按照,程式設計師定義好流程在執行。其實很多時候,乙個程式的好壞,在於乙...

關於血液關於軟體

1 自然沉降法 將血袋垂直吊掛於4 2 冰箱內,使紅細胞自然下沉1 3d,或將血袋呈70 80 角立於冰箱,需用時,用一次性分漿器分出血漿,制得濃縮紅細胞。2 洗滌法 一般用生理鹽水反覆洗滌3 6次。經洗滌的紅細胞,除白細胞和血小板減少外,血漿蛋白也極少,紅細胞中殘存的血漿蛋白含量約為原總蛋白的1 ...

關於冷漠,關於愛情

我不知道為什麼今天又莫名其妙開始思考愛情這件事,隨之就解決了我一直無法面對冷漠這件事 被冷漠是我始終無法消化的一件事,每當遇見冷漠時,我總會覺得就像一團火把自己燒得面目全非,但對方卻毫無傷害。但我突然懂了,遇到冷漠時,體面的離開即可 在乎你的人一定會在你離開後,找到你跟你解釋為什麼 連解釋都來不及,...