.NET Framework 遠端處理概觀
本主題專門說明一項為了在現有應用程式中提供回溯相容性而保留的舊有技術,不建議用於新的開發工作。分散式應用程式應使用 Windows Communication Foundation (WCF) 進行開發。
.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 遠端基礎結構的基本攔截與延伸點。
- 遠端處理範例
提供使用不同遠端基礎結構項目的數個完整範例應用程式。
建置日期:2010-02-13