<formatter> Elemento (Instancia)

Este tema es específico de una tecnología heredada que se mantiene para la compatibilidad con versiones anteriores con aplicaciones existentes y no se recomienda para nuevo desarrollo. Las aplicaciones distribuidas se deberían desarrollar utilizando  Windows Communication Foundation (WCF).

Contiene el proveedor de receptores de canal para un receptor de formateador que se ha de insertar en la cadena de receptores de canal. Este elemento puede aparecer en un archivo de configuración del equipo o en un archivo de configuración de la aplicación.

<configuración>

<system.runtime.remoting>

<canales>

<canal>

<serverProviders>

<formatter> Elemento (Instancia)

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

<configuración>

<system.runtime.remoting>

<canales>

<canal>

<clientProviders>

<formatter> Elemento (Instancia)

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

<configuración>

<system.runtime.remoting>

<application>

<canales>

<canal>

<serverProviders>

<formatter> Elemento (Instancia)

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

<configuración>

<system.runtime.remoting>

<application>

<canales>

<canal>

<clientProviders>

<formatter> Elemento (Instancia)

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

Schema Hierarchy

<configuration>
  <system.runtime.remoting> (Elemento)
    <application> (Elemento)
      <channels> Elemento (Instancia)
        <channel> Elemento (Instancia)
          <clientProviders> Elemento (Instancia)
            <formatter> Elemento (Instancia)

Sintaxis

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

Atributos y elementos

En las siguientes secciones se describen los atributos, elementos secundarios y elementos primarios.

Atributos

Atributo Descripción

ref

Atributo necesario.

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.

type

Atributo necesario.

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é global de ensamblados. Se requiere este atributo solo si no se utiliza un atributo ref.

customFormatterProperty

Atributo opcional.

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

Atributo opcional.

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

Atributo opcional.

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 solo 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

Atributo opcional.

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, Windows 2000, Windows XP Home, Windows XP Professional y la familia de Windows Server 2003.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción

application

Contiene información sobre los objetos remotos que la aplicación consume y expone.

channel

Contiene la plantilla de canal que la aplicación puede especificar y configurar para comunicar o escuchar las solicitudes de objetos remotos. En cualquier lugar donde se pueda registrar un canal para su uso, se puede establecer el atributo id de dicho elemento canal de instancia en el atributo ref de esta plantilla.

channels

Contiene las plantillas de canal que la aplicación utiliza para comunicarse con objetos remotos. A los canales declarados bajo este elemento se puede hacer referencia en cualquier lugar donde esté registrado un canal.

clientProviders

Contiene los proveedores de receptores de canal que van a formar parte de la cadena de llamadas de receptores de canal predeterminada del cliente correspondiente a esta plantilla de canal cuando se hace referencia a la plantilla en otro lugar del archivo de configuración. Al especificar proveedores en cualquiera de las posiciones que figuran más abajo, se reemplazan los receptores de canal predeterminados correspondientes a este canal; si desea que cualquiera de estos receptores de canal predeterminados queden insertados en la cadena de llamadas de receptores de canal correspondiente a esta plantilla, deberá especificarlos aquí.

configuration

Elemento raíz de cada archivo de configuración que utilizan las aplicaciones Common Language Runtime y .NET Framework.

system.runtime.remoting

Contiene información sobre canales y objetos remotos.

Notas

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, solo puede haber un receptor de formateador en una cadena de llamadas de receptores de canal.

El elemento de instancia <formatter> puede producirse en cuatro lugares. Cuando se especifica bajo un elemento de plantilla <channel> (en el elemento <serverProvider> o en el elemento <clientProvider>), este elemento especifica un formateador que invalidará 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 haga referencia al canal. Cuando se especifica bajo un elemento <application>, invalida todos los receptores de formateador que se hayan declarado en la plantilla o instancia actual 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 exacto, o en caso contrario, se produce la excepción TypeLoadException.

false

true

Se carga el tipo utilizando únicamente el nombre de tipo y de ensamblado; en caso contrario, se produce la excepción TypeLoadException.

true

false

Se carga el tipo exacto 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 produce la excepción TypeLoadException.

false

false

Se carga el tipo utilizando únicamente el nombre de tipo y de ensamblado; en caso contrario, se produce 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>

Vea también

Referencia

Esquema de configuración de la comunicación remota
BinaryClientFormatterSink
SoapClientFormatterSink
BinaryServerFormatterSink
SoapServerFormatterSink

Fecha de compilación: 2010-02-13