<formatter> 項目 (執行個體)
本主題專門說明一項為了在現有應用程式中提供回溯相容性而保留的舊有技術,不建議用於新的開發工作。分散式應用程式應使用 Windows Communication Foundation (WCF) 進行開發。
包含要插入通道接收鏈結中的格式子接收之通道接收提供者。這個項目可能出現在應用程式組態檔 (電腦組態檔) 中。
這裡的格式器會覆寫這個通道的預設通道接收鏈結,成為這個通道樣板的新預設值。
這裡的格式器會覆寫這個通道的預設通道接收鏈結,成為這個通道樣板的新預設值。
這裡的格式器會覆寫這個通道執行個體的預設通道接收鏈結。
這裡的格式器會覆寫這個通道執行個體的預設通道接收鏈結。
Schema Hierarchy
<configuration>
<system.runtime.remoting> 項目
<application> 項目
<channels> 項目 (執行個體)
<channel> 項目 (執行個體)
<clientProviders> 項目 (執行個體)
<formatter> 項目 (執行個體)
語法
<formatter
ref="FormatterReference"
type="FormatterSinkProviderType, FormatterAssembly"
customFormatterProperty="customProperty"
includeVersions="true"
strictBinding="false"
...typeFilterLevel="Low | Full"
/>
屬性和元素
下列章節會說明屬性 (Attribute)、子項目和父項目。
屬性
屬性 | 描述 |
---|---|
ref |
必要屬性。 為您用戶端打算用來註冊的格式器,指定格式器接收提供者樣板的識別碼。如果指定 ref 屬性,則不需要指定 type 屬性。 |
type |
必要屬性。 指定格式器接收提供者的完整型別名稱,以及含有提供者實作的組件名稱。如果包含組件是在全域組件快取中,這個名稱包含任何版本、文化特性和公開金鑰 (Public Key) 資訊。如果沒有使用 ref 屬性,才會需要這個屬性。 |
customFormatterProperty |
選擇性屬性。 指示支援的自訂格式器屬性。您可以指定自訂格式器可能支援的任何格式器屬性數量。自訂格式器屬性可以是以屬性/值配組指定的。例如: |
includeVersions |
選擇性屬性。 指示傳送格式器在序列化型別資訊時,要包含完整的型別和組件版本資訊。如需重要的詳細資訊,請參閱下列的<備註>一節。系統所提供兩個格式器的預設值都是 true。 |
strictBinding |
選擇性屬性。 指示接收格式器將會先嘗試使用完整的版本資訊 (如果有的話) 來辨識型別,然後才會使用不含版本資訊的型別名稱和組件名稱。如需重要的詳細資訊,請參閱下列的<備註>一節。系統提供的兩個格式器預設都是 false。 |
typeFilterLevel |
選擇性屬性。 字串值,指定伺服器通道接收鏈結嘗試中,格式器自動還原序列化的層級。支援的值為 Low (預設值) 和 Full。如需還原序列化層級的詳細資訊,請參閱 .NET 遠端處理中的自動還原序列化。 .NET Framework 1.1 版只有在下列平台上才支援這個屬性:Windows 98、Windows NT 4.0、Windows Millennium Edition、Windows 2000、Windows XP Home (家用版)、Windows XP Professional (商用版)、Windows Server 2003 系列。 |
項目子系
無。
父項目
項目 | 說明 |
---|---|
application |
包含應用程式使用和公開之遠端物件的相關資訊。 |
channel |
包含應用程式可以指定及設定的通道樣板,以便與遠端物件的要求進行通訊,或接聽遠端物件的要求。通道可以註冊在任何位置上以供使用,而您可以將該執行個體通道項目的 id 屬性設定為這個樣板的 ref 屬性。 |
channels |
包含應用程式用來與遠端物件通訊的通道樣板。只要是已註冊通道的任何位置,就可以參考在此項目底下宣告的通道。 |
clientProviders |
包含通道接收的提供者,該通道接收會在樣板於組態檔的其他位置被參考時,成為這個通道樣板的預設用戶端通道接收呼叫鏈結的一部分。在下列位置指定提供者將會覆寫這個通道的預設通道接收;如果您希望任何這些預設的通道接收插入這個樣板的通道接收呼叫鏈結中,也必須在這裡指定。 |
configuration |
Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中的根項目。 |
system.runtime.remoting |
包含有關遠端物件和通道的資訊。 |
備註
您可以使用該樣板的 id 值做為這個執行個體的 ref 值,來參考提供者樣板。雖然可以宣告任何樣板數量,但是在通道接收呼叫鏈結中只能有一個格式子接收。
<formatter> 執行個體項目可以出現在四個地方。當指定在 <channel> 樣板項目 (在 <serverProvider> 或 <clientProvider> 項目中) 下方時,這個項目會在應用程式 <channel> 執行個體參考通道時,指定將覆寫任何通道預設格式子的格式子,成為該特定通道的預設格式子接收。當指定在 <application> 項目下方時,它會覆寫任何可能已經在目前通道執行個體或樣板中宣告的格式子接收。
下表說明當 includeVersions 和 strictBinding 屬性同時出現時的互動情形。
includeVersions (傳送格式子) | strictBinding (接格式子) | 載入型別的方式 |
---|---|---|
true |
true |
載入實際的型別,否則擲回 TypeLoadException。 |
false |
true |
只使用型別名稱和組件名稱載入型別,否則擲回 TypeLoadException。 |
true |
false |
如果有的話,載入實際的型別;如果沒有的話,只使用型別名稱和組件名稱載入型別。如果失敗的話,擲回 TypeLoadException。 |
false |
false |
只使用型別名稱和組件名稱載入型別,否則擲回 TypeLoadException。 |
範例
下列組態檔宣告使用 <formatter> 執行個體項目的 <channel> 執行個體,來指定預設的 BinaryClientFormatterSinkProvider 使用具有 HttpChannel 的二進位序列化 (Serialization)。
<configuration>
<system.runtime.remoting>
<application>
<channels>
<channel ref="http">
<clientProviders>
<formatter ref="binary"/>
</clientProviders>
</channel>
</channels>
<client>
<wellknown
url="http://computername:80/RemoteType.rem"
type="RemoteType, RemoteAssembly"
/>
</client>
</application>
</system.runtime.remoting>
</configuration>
另請參閱
參考
遠端設定結構描述
BinaryClientFormatterSink
SoapClientFormatterSink
BinaryServerFormatterSink
SoapServerFormatterSink
建置日期:2010-02-13