NET Framework 遠端處理概觀
.NET 遠端處理可讓您輕鬆建置四處分散的應用程式,不論應用程式元件全都集中在同一台電腦或散佈在全世界各個角落。您可以建置用戶端應用程式,讓它們使用相同電腦 (或其網路上可連接的任何其他電腦) 上其他處理序中的物件。您也可以透過 .NET 遠端處理來與相同處理序中的其他應用程式定義域進行通訊。(如需程式設計應用程式定義域的詳細資訊,請參閱Programming with Application Domains)。
.NET 遠端處理提供您一種抽象的處理序之間通訊方法,讓您將可遠端處理的物件從特定用戶端或伺服器應用程式定義域中,以及從特定的通訊機制中分離出來。這麼一來,物件就會變得有彈性,而且容易自訂。您不用重新編譯用戶端或伺服器,就可以直接將某個通訊協定取代為另一個通訊協定,或將某個序列化格式取代為另一個序列化格式。此外,遠端系統不會取用任何特別的應用程式模型。您可以透過 Web 應用程式、主控台應用程式或 Windows 服務等任何您想使用的程式或服務來進行通訊。遠端伺服器同時可以是任何類型的應用程式定義域。任何應用程式都可裝載遠端物件,並提供其服務給所屬電腦或網路上的任何用戶端。
注意: |
---|
為了安全起見,我們強烈建議您透過安全通道來公開遠端處理端點。請絕對不要將不安全的遠端處理端點公開到網際網路上。 |
若要使用 .NET 遠端處理來建置應用程式,以便讓兩個元件越過應用程式定義域界限直接通訊,您只需要建置下列項目:
可遠端處理的物件。
用來接聽該物件要求的主機應用程式定義域。
針對該物件提出要求的用戶端應用程式定義域。
就算是一個複雜、多用戶端或多伺服器的應用程式,您都可以針對 .NET 遠端處理比照辦理。主機與用戶端應用程式必須同時設定好遠端基礎結構,而且您必須瞭解遠端基礎結構所產生的存留期與啟動過程問題。
本章節內容
- 建置基本 .NET Framework 遠端處理應用程式
藉由建置可遠端處理型別、接聽應用程式與組態檔,以及用戶端應用程式及組態檔來示範基本 .NET 遠端處理情況。
- .NET Framework 遠端處理架構
說明 .NET 遠端系統的架構。
- 讓物件變成可遠端處理
說明遠端界限以及如何實作可跨越這些界限來啟動的型別。
- 物件啟動與存留期
說明遠端啟動的各種不同型別,以及如何管理遠端物件存留期。
- 通道
說明系統定義的通道並提供您所需資訊,以協助您決定對您的情況最有利的通道。
- 遠端應用程式的組態
說明 .NET 遠端基礎結構的基本組態需求、可用來滿足這些需求的組態型別,以及各種伺服器與用戶端應用程式定義域的特殊需求。
- 遠端處理中的版本資訊
說明版本設定在遠端處理情況中的運作方式。
- 遠端處理中的安全性
說明使用遠端處理時的安全性需求,以及可協助建置安全遠端應用程式的基本方法。
- 非同步遠端處理
說明如何在遠端處理情況中執行非同步程式設計。
- HOW TO:以非同步方式呼叫遠端物件的方法
說明如何對遠端物件的方法執行非同步呼叫。
- 以非同步方式呼叫遠端物件之方法的問題
說明在對遠端物件的方法執行非同步呼叫時,可能發生的問題。
- CallContexts 和直接遠端處理
說明如何使用 CallContext 來傳遞包含遠端方法的額外資料,以及如何動態發行物件以做為遠端用途。
參考
- 遠端設定結構描述
提供可用來設定 .NET 遠端處理 (透過組態檔) 的元素相關參考資訊。
- System.Runtime.Remoting
提供可用來執行 .NET 遠端處理的型別相關參考資訊。
- System.Runtime.Remoting.Activation
包含類別和物件,以支援遠端物件的伺服器和用戶端啟動。
- System.Runtime.Remoting.Channels
包含支援和處理通道和通道接收的類別,當用戶端呼叫遠端物件的方法時,可將這些類別當做傳輸媒介。
- System.Runtime.Remoting.Channels.Http
包含通道的類別,這些通道使用 HTTP 通訊協定在遠端位置之間傳輸訊息和物件。
- System.Runtime.Remoting.Channels.Ipc
包含可為使用 Windows 作業系統之處理序間通訊 (IPC) 系統的遠端處理定義其通訊通道的類別。
- System.Runtime.Remoting.Channels.Tcp
包含可定義使用 TCP 通訊協定在遠端位置之間傳輸訊息與物件之通道的類別。
- System.Runtime.Remoting.Contexts
包含物件,這些物件可定義所有遠端物件所在的內容。
- System.Runtime.Remoting.Lifetime
包含管理遠端物件存留期的類別。
- System.Runtime.Remoting.Messaging
包含用來建立和傳輸訊息的類別。
- System.Runtime.Remoting.Metadata
包含類別和屬性,可以用來為物件和欄位自訂 SOAP 的產生和處理方式。
- System.Runtime.Remoting.Metadata.W3cXsd2001
包含 XML 結構描述定義 (XSD),此定義係由全球資訊網協會 (W3C) 於 2001 年所定義。
- System.Runtime.Remoting.MetadataServices
包含 Soapsuds.exe 命令列工具所使用的類別和使用者程式碼,可在遠端基礎結構的 XML 結構描述之間來回轉換中繼資料。
- System.Runtime.Remoting.Proxies
包含控制與提供 Proxy 功能的類別。
- System.Runtime.Remoting.Services
包含可提供功能給 .NET Framework 的服務類別。
相關章節
- 進階遠端處理
說明可供您用來自訂 .NET 遠端基礎結構的基本攔截與延伸點。
- 遠端處理範例
提供使用不同遠端基礎結構項目的數個完整範例應用程式。
Copyright © 2007 by Microsoft Corporation. All rights reserved.