Compartir a través de


Elemento <formatter> (instancia)

Contiene el proveedor de receptores de canal para un receptor de formateador que se ha de insertar en la cadena de receptores de canal.

<configuration>
   <system.runtime.remoting>
      <channels>
         <channel>
            <serverProviders>
               <formatter/>

En este caso, un formateador reemplaza la cadena de receptores de canal predeterminada correspondiente a este canal para convertirse en el nuevo formateador predeterminado de esta plantilla de canal.

<configuration>
   <system.runtime.remoting>
      <channels>
         <channel>
            <clientProviders>
               <formatter/>

En este caso, un formateador reemplaza la cadena de receptores de canal predeterminada correspondiente a este canal para convertirse en el nuevo formateador predeterminado de esta plantilla de canal.

<configuration>
   <system.runtime.remoting>
      <application>
         <channels>
            <channel>
               <serverProviders>
                  <formatter/>

En este caso, un formateador reemplaza la cadena de receptores de canal predeterminada correspondiente a esta instancia de canal.

<configuration>
   <system.runtime.remoting>
      <application>
         <channels>
            <channel>
               <clientProviders>
                  <formatter/>

En este caso, un formateador reemplaza la cadena de receptores de canal predeterminada correspondiente a esta instancia de canal.

<formatter
   ref="FormatterReference"   type="FormatterSinkProviderType, FormatterAssembly"   customFormatterProperty="customProperty"   includeVersions="true"   strictBinding="false"...typeFilterLevel="Low | High"/>

Atributos opcionales

Atributo Descripción
customFormatterProperty Indica una propiedad de formateador personalizado compatible. Se puede especificar un número ilimitado de propiedades de formateador compatibles con los formateadores personalizados. Una propiedad de formateador personalizado se especifica con un par atributo/valor. Por ejemplo:
<formatter id="CustomFormatterSinkProvider" type="Namespace.CustomFormatterSinkProvider, CustomFormatters" customFormatterProperty="FormatterPropertyValue"/>
includeVersions Indica que un formateador de envío incluye toda la información de versión del ensamblado y de tipo al serializar la información de tipo. Para obtener más información, vea la sección Comentarios que figura a continuación. El valor predeterminado de ambos formateadores proporcionados por el sistema es true.
strictBinding Indica que un formateador de recepción intentará primero identificar el tipo mediante la información de versión completa si existe antes de usar sólo el nombre de tipo y de ensamblado sin la información de versión. Para obtener más información, vea la sección Comentarios que figura a continuación. El valor predeterminado de ambos formateadores proporcionados por el sistema es false.
typeFilterLevel Valor de cadena que especifica el nivel de deserialización automática que intenta lograr un formateador en la cadena de receptor de canal del servidor. Los valores admitidos son Low (valor predeterminado) y Full. Para obtener más información sobre los niveles de deserialización, vea Deserialización automática en .NET Remoting.

Esta propiedad la admite únicamente la versión 1.1 de .NET Framework en las siguientes plataformas: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional y la familia de Windows Server 2003.

Atributos requeridos

Atributo Descripción
type Especifica el nombre de tipo completo del proveedor de receptores de formateador así como el nombre del ensamblado que contiene la implementación de proveedores. Esto incluye cualquier información de versión, referencia cultural y clave pública si el ensamblado contenedor está en la caché de ensamblados global. Se requiere este atributo sólo si no se utiliza un atributo ref.
ref Especifica el Id. de la plantilla de proveedor de receptores de formateador correspondiente al formateador que el cliente desea registrar para su uso. Si especifica un atributo ref, no es necesario especificar un atributo type.

Comentarios

Para hacer referencia a una plantilla de proveedor, utilice el valor de id de dicha plantilla como valor de ref de esta instancia. Si bien se puede declarar un número ilimitado de plantillas, sólo puede haber un receptor de formateador en una cadena de llamadas de receptores de canal.

El elemento de instancia <formatter> puede producirse cuatro veces. Cuando se especifica bajo un elemento de plantilla <channel> (en el elemento <serverProvider> o <clientProvider>), este elemento especifica un formateador que reemplazará todos los formateadores predeterminados del canal para convertirse en el receptor de formateador predeterminado de ese canal en concreto cuando una instancia <channel> de la aplicación hace referencia al canal. Cuando se especifica bajo un elemento <application>, reemplaza todos los receptores de formateador que se hayan declarado en la actual plantilla o instancia de canal.

En la siguiente tabla se describe la interacción entre los atributos includeVersions y strictBinding cuando aparecen conjuntamente.

includeVersions (formateador de envío) strictBinding (formateador de recepción) Modo en que se carga el tipo
true true Se carga el tipo xact; en caso contrario se inicia la excepción TypeLoadException.
false true Se carga el tipo utilizando únicamente el nombre de tipo y de ensamblado; en caso contrario, se inicia la excepción TypeLoadException.
true false Se carga el tipo exact si está presente; en caso contrario, se carga el tipo utilizando únicamente el nombre de tipo y de ensamblado. Si se produce un error, se inicia la excepción TypeLoadException.
false false Se carga el tipo utilizando únicamente el nombre de tipo y de ensamblado; en caso contrario, se inicia la excepción TypeLoadException.

Ejemplo

En el siguiente archivo de configuración se declara una instancia <channel> que utiliza el elemento de instancia <formatter> con el fin de especificar el BinaryClientFormatterSinkProvider predeterminado para utilizar la serialización binaria con 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>

Requisitos

Archivos de configuración: Archivo de configuración de la aplicación, archivo de configuración del equipo (Machine.config)

Vea también

Esquema de la configuración de la interacción remota | BinaryClientFormatterSink | SoapClientFormatterSink | BinaryServerFormatterSink | SoapServerFormatterSink