.NET Framework 遠端處理概觀
不論應用程式元件全都位在一台電腦上或分散在整個世界中,.NET 遠端處理都可讓您輕易建置廣泛的分散式應用程式。您可建置使用其他處理序中之物件的用戶端應用程式,不論這些處理序是位在同一電腦或是可透過網路到達的其他電腦上。也可使用 .NET 遠端處理與同一處理序中的其他應用程式定義域進行通訊 (如需應用程式定義域程式設計的詳細資訊,請參閱使用應用程式定義域設計程式)。
.NET 遠端處理提供處理序間通訊的抽象方式,將可遠端處理的物件從特定的用戶端和伺服器應用程式定義域,以及特定的通訊機制抽出來處理。因此,十分具彈性且容易自訂。您可將某個通訊協定取代為另一個通訊協定,或將某個序列化格式取代為另一個序列化格式,而不需重新編譯用戶端或伺服器。此外,遠端處理系統不假設任何特定的應用程式模型。您可從 Web 應用程式、主控台應用程式、Windows 服務 (幾乎是您想要使用的任何項目) 進行通訊。遠端處理伺服器也可以是任何類型的應用程式定義域。任何應用程式都可裝載遠端處理物件,並將它的服務提供給在其電腦或網路上的任何用戶端。
注意事項 |
---|
為了安全性原因,強烈建議經由安全通道公開遠端端點。絕對不要將不安全的遠端端點公開到網際網路。 |
若要使用 .NET 遠端處理,建置兩個元件之間可直接跨應用程式定義域界限進行通訊的應用程式,您只需要建置下列項目:
可遠端處理的物件。
接聽該物件之要求的主應用程式定義域。
發出該物件之要求的用戶端應用程式定義域。
甚至在複雜、多用戶端或多伺服器的應用程式中,.NET 遠端處理也可用這個方式來思考。您還必須使用遠端處理基礎結構來設定主應用程式和用戶端應用程式,而且必須瞭解遠端處理基礎結構所造成的存留期和啟動問題。
在本節中
- 建置基本的 .NET 遠端處理應用程式
示範基本的 .NET 遠端處理案例,其中會建置可遠端處理的型別、接聽應用程式和組態檔,以及用戶端應用程式和組態檔。
- .NET Framework 遠端處理架構
描述 .NET 遠端處理系統的架構。
- 讓物件變成可遠端處理
描述遠端處理界限,以及如何實作可跨那些界限啟動的型別。
- 物件啟動和存留期
描述不同型別的遠端啟動,以及如何管理遠端物件存留期。
- 通道
描述系統定義的通道,並提供您決定最適合您案例之通道所需要的資訊。
- 遠端應用程式組態
描述 .NET 遠端處理基礎結構的基本組態需求、可用於滿足這些需求的組態類型,以及各種伺服器和用戶端應用程式定義域的特殊需求。
- 遠端處理中的版本資訊
描述版本控制如何在遠端案例中運作。
- 遠端處理中的安全性
描述使用遠端處理的安全性需求和基本方式,以協助建置安全的遠端處理應用程式。
- 非同步遠端處理
描述如何在遠端處理案例中進行非同步程式設計。
- 如何非同步呼叫遠端物件的方法
顯示如何發出遠端物件之方法的非同步呼叫。
- 非同步呼叫遠端物件之方法的問題
描述發出遠端物件之方法的非同步呼叫時可能會引發的問題。
- CallContext 和直接遠端處理
描述如何使用 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
包含管理遠端物件存留期 (Lifetime) 的類別。
- System.Runtime.Remoting.Messaging
包含用於建立和傳輸訊息的類別。
- System.Runtime.Remoting.Metadata
包含類別和屬性,可以用來為物件和欄位自訂 SOAP 的產生和處理方式。
- System.Runtime.Remoting.Metadata.W3cXsd2001
包含 2001 年由全球資訊網協會 (WC3) 所定義的 XML 結構描述定義 (XSD)。
- System.Runtime.Remoting.MetadataServices
包含 Soapsuds 工具 (Soapsuds.exe) 命令列工具所使用的類別和使用者程式碼,可在遠端基礎結構的 XML 結構描述之間來回轉換中繼資料。
- System.Runtime.Remoting.Proxies
包含控制 Proxy 並提供功能給它的類別。
- System.Runtime.Remoting.Services
包含服務類別,這些類別提供功能給 .NET Framework。
相關章節
- 進階遠端處理
描述可用於自訂 .NET 遠端處理架構的基本攔截和擴充點。
- 遠端處理範例
提供數個使用不同遠端處理基礎結構項目的完整範例應用程式。