共用方式為


遠端物件組態

本主題專門說明一項為了在現有應用程式中提供回溯相容性而保留的舊有技術,不建議用於新的開發工作。分散式應用程式應使用 Windows Communication Foundation (WCF) 進行開發。

發行或使用遠端物件的開發人員必須負責設定 .NET 遠端處理系統的組態,才可讓使用 .NET 遠端處理的應用程式正常工作。若要完成這項工作,您可以利用程式設計的方式,或使用應用程式組態檔或電腦組態檔。之後系統管理員可再使用 .NET Framework 組態工具指向位於不同端點的遠端用戶端,或根據需要修改的用戶端啟動 (<activated>) 或伺服器啟動 (<wellknown>) 物件的存留期。

註冊遠端類別的方法是將它放入 <application> 項目,這個項目是屬於 <system.runtime.remoting> 項目的子系。應用程式存取的物件是由 <application> 項目內 <client> 區段底下的遠端應用程式組成群組。而應用程式公開的物件則在 <application> 節點的 <service> 區段內宣告。如果您尚未在網際網路資訊服務 (IIS) 內裝載您的遠端型別,您可以為您的應用程式指定 name 屬性,使它成為啟動 URL 的一部分,但並非每一種情況下都需要使用。如需在 IIS 內裝載,請參閱在網際網路資訊服務 (IIS) 中裝載遠端物件

此外,.NET 遠端處理不自動選取應用程式組態檔中的任何遠端組態值。若要使用組態檔設定遠端處理,就必須呼叫 RemotingConfiguration.Configure。主應用程式定義域會自動載入遠端組態檔的唯一情形是 IIS 中裝載遠端型別。此時,.NET 遠端處理會自動從 Web.config 檔中只選取服務設定。用戶端設定則暫時略過,直到直接呼叫 RemotingConfiguration.Configure 方法重新載入組態檔為止。

下列結構描述 (Schema) 說明您可以用來設定應用程式以使用 .NET 遠端處理的項目結構。

<configuration>

<system.runtime.remoting>

<application>

<lifetime>

<channels> (執行個體)

<channel> (執行個體)

<serverProviders> (執行個體)

<provider> (執行個體)

<formatter> (執行個體)

<clientProviders> (執行個體)

<provider> (執行個體)

<formatter> (執行個體)

<client>

<wellknown> (用戶端執行個體)

<activated> (用戶端執行個體)

<service>

<wellknown> (服務執行個體)

<activated> (服務執行個體)

<soapInterop>

<interopXmlType>

<interopXmlElement>

<preLoad>

<channels> (樣板)

<channel> (樣板)

<serverProviders> (執行個體)

<provider> (執行個體)

<formatter> (執行個體)

<clientProviders> (執行個體)

<provider> (執行個體)

<formatter> (執行個體)

<channelSinkProviders>

<serverProviders> (樣板)

<provider> (樣板)

<formatter> (樣板)

<clientProviders> (樣板)

<provider> (樣板)

<formatter> (樣板)

<debug>

若要使用遠端設定,您必須在應用程式組態檔上呼叫 RemotingConfiguration.Configure。請注意 Common Language Runtime 在載入應用程式組態檔之前,會自動載入電腦組態檔。請不要在電腦組態檔上呼叫 RemotingConfiguration.Configure。如果在電腦組態檔上呼叫,當再次載入某些已位於記憶體的物件時將產生例外狀況。

存留期組態

您可以使用 <lifetime> 項目,為應用程式中所有的用戶端啟動物件和伺服器啟動 Singleton 物件指定預設的存留期。

如需程式設計組態和存留期概念,請參閱存留期租用期

執行個體項目和樣板項目

和建置通道相關的項目有兩種,樣板項目和執行個體項目。樣板項目是用來宣告通道、伺服器或用戶端通道接收提供者,或伺服器或通道接收格式器,且可在參考該樣板項目 ID 屬性的同一應用程式範圍內使用。

42d55ae3.note(zh-tw,VS.100).gif注意:
只要在樣板項目中使用 type 屬性,建立使用系統實作型別 (例如 BinaryFormatterHttpChannel) 的預設組態時,就必須指定完整的型別資訊,包括版本、文化特性 (Culture) 和強式名稱資訊。這個資訊可從 machine.config 檔中取得,或是使用全域組件快取公用程式 Gacutil.exe 來取得。如果型別定義於全域組件快取之外的可尋獲組件中,或是您參考的型別所在的執行個體項目可以使用 ref 屬性,則無此必要。

另請參閱

工作

HOW TO:設定用戶端啟動或伺服器啟動之遠端物件的存留期
HOW TO:設定通道

參考

System.Runtime.Remoting.RemotingConfiguration Class

概念

遠端應用程式的組態
通道
通道註冊
伺服器端註冊
用戶端註冊
通道註冊

其他資源

使用組態檔註冊遠端物件
.NET Framework 遠端處理概觀