<provider> Elemento (Plantilla)

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 la plantilla de proveedores de receptores de canal correspondiente a un receptor de canal que se ha de insertar en la cadena de receptores de canal del servidor o cliente. Existen dos posibles jerarquías para la inclusión de este elemento. Este elemento puede aparecer en un archivo de configuración del equipo o en un archivo de configuración de la aplicación.

Schema Hierarchy

<configuration>
  <system.runtime.remoting> (Elemento)
    <channelSinkProviders> (Elemento)
      <clientProviders> Elemento (Instancia)
        <provider> Elemento (Plantilla)

Sintaxis

<provider  
   id="ProviderID" 
   type="ProviderType, ProviderAssembly"    
   customChannelSinkProperty="customProperty"
/>

Atributos y elementos

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

Atributos

Atributo Descripción

id

Atributo necesario.

Especifica una cadena que identifica este proveedor de receptores de canal. Otros pueden utilizar esta cadena en su atributo ref para establecer un enlace con este proveedor de receptores de canal.

type

Atributo necesario.

Especifica el nombre de tipo completo del proveedor de receptores de canal así como el nombre del ensamblado que contiene la implementación de proveedores. Esto incluye la información de versión, referencia cultural y clave pública si el ensamblado contenedor está en la caché global de ensamblados.

customChannelSinkProperty

Atributo opcional.

Indica una propiedad de receptor de canal personalizado compatible. Se puede especificar cualquier número de propiedades de proveedor y receptor de canal que admitan los proveedores de receptores de canal personalizados y sus receptores. Una propiedad de receptor de canal personalizado se especifica con un par atributo/valor. En el ejemplo:

<provider id="CustomChannelSinkProvider" type="Namespace.CustomChannelSinkProvider, CustomChannels" customChannelSinkProperty="ChannelSinkPropertyValue"/>

el atributo customChannelSinkProperty y su valor estarán disponibles como un argumento IDictionaryen el constructor del proveedor.

Aquí también se pueden especificar los datos de los proveedores de receptores personalizados. Solo se admite un nivel de nodos. En el ejemplo:

<provider ref="custom">
<extra data="value"/>
<extra data="AnotherValue"/>
</provider>

la información adicional estará disponible como ICollection de SinkProviderData en el constructor del proveedor.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción

channelSinkProviders

Contiene plantillas para proveedores de receptores de canal de cliente y de servidor. Se puede hacer referencia a todos los proveedores de receptores de canal especificados debajo de este elemento en cualquier lugar donde esté registrado un proveedor de receptores de 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.

Ejemplo

En el siguiente archivo de configuración se utiliza un elemento de instancia <provider> para asignar al HttpChannel el proveedor de receptores de canal "propsetter" y "null" que, a su vez, han sido declarados con los elementos de plantilla <provider>. Además, el proveedor de receptores de canal "propsetter" se creará con las propiedades de proveedor personalizado especificadas como atributos en el elemento de instancia del proveedor y como los pares nombre/valor del atributo <endpoint> secundario.

<configuration>
   <system.runtime.remoting>
      <application>
         <client>
            <wellknown 
               type="RemoteType, RemoteAssembly"
               url="http://computername:8080/RemoteType.rem"/>
         </client>
         <channels>
            <channel ref="http">
               <clientProviders>
                  <formatter ref="soap"/>
                  <provider 
                     ref="propsetter" 
                     username="bob" 
                     writeToConsole="true"
                  >
                     <endpoint url="contoso.com:9000" someProperty="xyz" />
                     <endpoint url="contoso.com:9001" someProperty="123" />
                  </provider>
                  <provider ref="null" writeToConsole="true" />
               </clientProviders>
            </channel>
         </channels>
      </application>
      <channelSinkProviders>
         <clientProviders>
            <provider 
               id="propsetter" 
               type="ChannelSinkPropertySetterProvider, SinkAssembly" 
            />
            <provider 
               id="null" 
               type="NullSinkProvider, SinkAssembly" 
            />
         </clientProviders>
      </channelSinkProviders>
      <debug loadTypes="true" />
   </system.runtime.remoting>
</configuration>

Vea también

Referencia

Esquema de configuración de la comunicación remota

Conceptos

Receptores y cadenas de receptores

Fecha de compilación: 2010-02-13