天天看點

細細品味C#——.Net Remoting專題

 什麼是Remoting,簡而言之,我們可以将其看作是一種分布式處理方式  。從微軟的産品角度來看,可以說Remoting就是DCOM的一種更新,它改善了很多功能,并極好的融合到.Net平台下。Microsoft .NET Remoting 提供了一種允許對象通過應用程式域與另一對象進行互動的架構。這也正是我們使用Remoting的原因。為什麼呢?在Windows作業系統中,是将應用程式分離為單獨的程序。這個程序形成了應用程式代碼和資料周圍的一道邊界。如果不采用程序間通信(RPC)機制,則在一個程序中執行的代碼就不能通路另一程序。這是一種作業系統對應用程式的保護機制。然而在某些情況下,我們需要跨過應用程式域,與另外的應用程式域進行通信,即穿越邊界。

在Remoting中是通過通道(channel)來實作兩個應用程式域之間對象的通信的。首先,用戶端通過Remoting,通路通道以獲得服務端對象,再通過代了解析為用戶端對象。這就提供一種可能性,即以服務的方式來釋出伺服器對象。遠端對象代碼可以運作在伺服器上(如伺服器激活的對象和用戶端激活的對象),然後用戶端再通過Remoting連接配接伺服器,獲得該服務對象并通過序列化在用戶端運作。

在Remoting中,對于要傳遞的對象,設計者除了需要了解通道的類型和端口号之外,無需再了解資料包的格式。但必須注意的是,用戶端在擷取伺服器端對象時,并不是獲得實際的服務端對象,而是獲得它的引用。這既保證了用戶端和伺服器端有關對象的松散耦合,同時也優化了通信的性能。

  文章的目錄:

1.1、版權聲明... 2

1.2、内容詳情... 2

1.2.1 .Net Remoting基礎... 2

1.2.2 Marshal、Disconnect與生命周期以及跟蹤服務... 17

1.2.3 Remoting事件處理全接觸... 25

1.2.4 關于Remoting. 43

1.2.5 關于Remoting(續)... 53

1.2.6 關于Remoting一些更改... 57

1.2.7 Remoting的幾個疑惑... 59

1.2.8 Remoting疑惑續集... 60

1.2.9 Remoting疑惑續集之再續... 62

1.2.10基于消息與.Net Remoting的分布式處理架構... 66

1.2.11 .Net Remoting測試小技巧... 78

1.2.12 .NET Remoting中的通道注冊... 80

1.2.13在Remoting用戶端激活用替換類以分離接口與實作... 81

2.1、版權聲明... 84

2.2、内容詳情... 84

2.2.1 一步一步學Remoting之一:從簡單開始... 84

2.2.2 一步一步學Remoting之二:激活模式... 87

2.2.3 一步一步學Remoting之三:複雜對象... 92

2.2.4 一步一步學Remoting之四:承載方式(1)... 97

2.2.5 一步一步學Remoting之四:承載方式(2)... 101

2.2.6 一步一步學Remoting之五:異步操作... 105

2.2.7 一步一步學Remoting之六:事件(1)... 110

2.2.8 一步一步學Remoting之六:事件(2)... 117

3.1、版權聲明... 123

3.2、内容詳情... 123

3.2.1 Remoting基本原理及其擴充機制(上)... 123

3.2.2 Remoting基本原理及其擴充機制(中)... 128

3.2.3 Remoting基本原理及其擴充機制(下)... 134

如果,您認為閱讀這篇部落格讓您有些收獲,不妨點選一下右下角的【<b>推薦</b>】。

如果,您希望更容易地發現我的新部落格,不妨點選一下左下角的【<b>關注我</b>】。

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

本文轉自蝦皮部落格園部落格,原文連結:http://www.cnblogs.com/xia520pi/archive/2011/11/02/2233371.html

繼續閱讀