<formatter> 要素 (インスタンス)
チャネル シンク チェインに挿入されるフォーマッタ シンクのチャネル シンク プロバイダを指定します。
<configuration>
<system.runtime.remoting>
<channels>
<channel>
<serverProviders>
<formatter/>
ここで指定されたフォーマッタは、対象のチャネルの既定のチャネル シンク チェインをオーバーライドして、そのチャネル テンプレートの新しい既定のチャネル シンク チェインになります。
<configuration>
<system.runtime.remoting>
<channels>
<channel>
<clientProviders>
<formatter/>
ここで指定されたフォーマッタは、対象のチャネルの既定のチャネル シンク チェインをオーバーライドして、そのチャネル テンプレートの新しい既定のチャネル シンク チェインになります。
<configuration>
<system.runtime.remoting>
<application>
<channels>
<channel>
<serverProviders>
<formatter/>
ここで指定されたフォーマッタは、対象のチャネル インスタンスの既定のチャネル シンク チェインをオーバーライドします。
<configuration>
<system.runtime.remoting>
<application>
<channels>
<channel>
<clientProviders>
<formatter/>
ここで指定されたフォーマッタは、対象のチャネル インスタンスの既定のチャネル シンク チェインをオーバーライドします。
<formatter
ref="FormatterReference" type="FormatterSinkProviderType, FormatterAssembly" customFormatterProperty="customProperty" includeVersions="true" strictBinding="false"...typeFilterLevel="Low | High"/>
省略可能属性
属性 | 説明 |
---|---|
customFormatterProperty | サポートされているカスタム フォーマッタ プロパティを示します。カスタム フォーマッタがサポートするフォーマッタ プロパティをいくつでも指定できます。カスタム フォーマッタ プロパティは、属性と値のペアで指定します。たとえば、<formatter id="CustomFormatterSinkProvider" type="Namespace.CustomFormatterSinkProvider, CustomFormatters" customFormatterProperty="FormatterPropertyValue"/> のようにします。 |
includeVersions | 型情報をシリアル化するときに、送信側のフォーマッタに完全な型情報とアセンブリ バージョン情報が含まれることを示します。重要な詳細については、下記の解説を参照してください。システムによって提供される 2 つのフォーマッタの既定値は true です。 |
strictBinding | 完全なバージョン情報がある場合には、受信側のフォーマッタがバージョン情報を含まない型名とアセンブリ名だけを使用して型を識別する前に、完全なバージョン情報を使用して型を識別しようとすることを示します。重要な詳細については、下記の解説を参照してください。システムによって提供される 2 つのフォーマッタの既定値は false です。 |
typeFilterLevel | サーバー チャネル シンク チェインのフォーマッタが試みる自動逆シリアル化のレベルを指定する文字列値です。サポートされる値は Low (既定) および Full です。逆シリアル化のレベルの詳細については、「.NET リモート処理での自動逆シリアル化」を参照してください。
このプロパティは、Windows 98、Windows NT 4.0、Windows Millennium Edition、Windows 2000、Windows XP Home Edition、Windows XP Professional、Windows Server 2003 ファミリの各プラットフォームの .NET Framework Version 1.1 だけでサポートされています。 |
必須属性
属性 | 説明 |
---|---|
type | フォーマッタ シンク プロバイダの完全型名と、プロバイダの実装が含まれているアセンブリの名前を指定します。格納しているアセンブリがグローバル アセンブリ キャッシュ内にある場合は、バージョン、カルチャ、および公開キーの情報がすべて含まれます。この属性は、ref 属性を指定しない場合にだけ指定する必要があります。 |
ref | クライアントが使用するために登録するフォーマッタのフォーマッタ シンク プロバイダ テンプレートの id を示します。ref 属性を指定する場合は、type 属性を指定する必要はありません。 |
解説
プロバイダ テンプレートを参照するには、そのテンプレートの id 値を対象のインスタンスの ref 値として指定します。テンプレートはいくつでも宣言できますが、チャネル シンク呼び出しチェインに挿入できるフォーマッタ シンクは 1 つだけです。
<formatter> インスタンス要素は、4 つの場所で指定できます。<serverProvider> 要素または <clientProvider> 要素内の <channel> テンプレート要素の下で指定した場合、この要素に指定されたフォーマッタは、対象のチャネルがアプリケーションの <channel> インスタンスによって参照されたときに、そのチャネルの既定フォーマッタをすべてオーバーライドし、自身が既定のフォーマッタ シンクになります。<application> 要素の下で指定した場合は、現在のチャネル インスタンスまたはチャネル テンプレートで宣言された可能性のある全フォーマッタ シンクが、この要素によってオーバーライドされます。
includeVersions 属性と strictBinding 属性を両方とも指定した場合に、2 つの属性の間で発生する動作を次の表に示します。
includeVersions (送信側のフォーマッタ) | strictBinding (受信側のフォーマッタ) | 型の読み込み方法 |
---|---|---|
true | true | 厳密に一致する型が読み込まれるか、TypeLoadException がスローされます。 |
false | true | 型名とアセンブリ名だけを使用して型が読み込まれるか、TypeLoadException がスローされます。 |
true | false | 厳密一致する型がある場合は、その型が読み込まれます。厳密一致する型がない場合は、型名とアセンブリ名だけを使用して型が読み込まれます。上記の動作が失敗した場合は、TypeLoadException がスローされます。 |
false | false | 型名とアセンブリ名だけを使用して型が読み込まれるか、TypeLoadException がスローされます。 |
例
次の構成ファイルは、<formatter> インスタンス要素を使用する <channel> インスタンスを宣言し、既定の BinaryClientFormatterSinkProvider が HttpChannel を使用してバイナリ シリアル化を行うように指定しています。
<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>
必要条件
構成ファイル : アプリケーション構成ファイル、マシン構成ファイル (Machine.config)
参照
リモート処理設定スキーマ | BinaryClientFormatterSink クラス | SoapClientFormatterSink クラス | BinaryServerFormatterSink クラス | SoapServerFormatterSink クラス