跳至內容

.NETRemoting

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

. NET 遠端處理. NET Remoting)是微軟 . NET Framework 中的一種網路通訊技術,佮 XML Web Service 無仝的是,伊會當使用 SOAP 以外協定來通訊,啊若佇咧侍服端佮使用者捀之間所操作的方法誠近仝款,使用者捀會當毋免考慮使用的協定,就會當存取侍服捀所開放的物件。這个技術佮由 Distributed COM 所發展來的,佮 DCOM 上大的無仝款是,DCOM 有限制使用 TCP Port,猶毋過 . NET Remoting 會用選擇使用 TCP 抑是 HTTP 的方式通訊,而且資料會當利用 SOAP 抑是二進位傳輸的方式佇網路頂懸流動,二進位的傳輸效能是 SOAP 所袂使比得講,猶毋過 SOAP 煞會當得著和 Web Service 互相溝通的能力,所以 . NET Remoting 的設計彈性較大。

. NET Remoting 技術目前已經整合到 Windows Communication Foundation 中。

原理

. NET Remoting 使用矣信道序列化機制來接兩台機器間的物件,信道是負責處理網路通訊的部份,而序列化是處理物件佮串流資料的處理工課。

  • 信道支援矣 IPC(行程間通訊)、 TCP 佮 HTTP 通訊協定。
  • 序列化支援第二進位(binary)抑是 XML(SOAP)通訊協定的資料串流。

等服端設定好使用的通道以及協定了後,使用者捀著愛綴人俗等的設定,並且嘛依照侍服端決定的活化模型來啟動,而程式的設計方法佮一般呼籲元件一般簡單。

組態設定

. NET Remoting 的設計理念,就是為著欲簡化網路頂懸的物件通訊,而且欲予開發人員毋免傷過得佇通訊的底層傷腦筋,所以佇網路通訊協定上做真濟包裝,並且允准佇 Configuration File(app . config)中直接設定,抑是講由著 . NET Remoting 的 Configuration API 來設定即可,故組態設定的選項複雜度較懸,設計較複雜的 . NET Remoting 應用程式佇組態的設定往往會誠複雜。

以下為設定 . NET Remoting 使用者捀的範例設定:

活化模型

活化(Activation)是講使用者捀啟動侍服捀元件的方式,. NET Remoting 著支援著兩種方式:

  • Single-Call:佇每一擺使用者捀呼叫時攏生做一个執行個體。
  • Single-ton:佇咧頭一擺呼叫時就生做執行個體,了後每一擺呼叫攏使用仝款的執行個體。

物件傳達

佇咧 . NET Remoting 中,無論是傳值抑是傳址,每一个物件攏愛繼承System . MarshalByRefObject類別,才會當利用 . NET Remoting 來傳輸。

以下程式碼為著侍服端的 Remoting 元件:

參考資料