<clientProviders> 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 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í.

<configuración>

<system.runtime.remoting>

<canales>

<canal>

< clientProviders>

En este caso, los proveedores invalidan a los proveedores predeterminados de este canal en todos los lugares donde se haga referencia a esta plantilla de canal.

<configuración>

<system.runtime.remoting>

<application>

<channels>

<channel>

< clientProviders>

En este caso, los proveedores invalidan a los proveedores predeterminados solo para esta instancia de canal.

<clientProviders> 
      <formatter/> 
      <provider/> 
</clientProviders>

Elementos secundarios

Elemento Descripción

<formatter>

Contiene un receptor de formateador que se va a insertar en la cadena de llamadas de receptores de canal. Puede producirse una sola vez en el elemento de instancia <clientProviders>.

<provider>

Contiene un receptor de canal que se va a insertar en la cadena de llamadas de receptores de canal. Puede producirse una o varias veces en el elemento de instancia <clientProviders>.

Notas

Cuando se utilizan en un elemento de plantilla de canal, todos los proveedores declarados, o a los que se haga referencia en el nivel mostrado, invalidarán a los proveedores predeterminados del canal y se convertirán en los proveedores predeterminados si se hace referencia al canal en otro lugar del archivo de configuración. Es importante darse cuenta de que se invalidarán todos los proveedores o formateadores predeterminados de este canal cuando se utilice este elemento. Si desea que dichos proveedores o formateadores formen parte de esta plantilla de canal además de cualquier proveedor personalizado, deberá especificar todos los proveedores y el formateador que se han de usar con este canal cuando otros hagan referencia a él.

Cuando se utilizan en una instancia de canal, todos los proveedores declarados o a los que se haga referencia en el nivel mostrado invalidarán a los proveedores predeterminados del canal sólo para esta instancia de canal. Si esta instancia hace referencia a una plantilla que declara clientProviders, entonces los proveedores aquí indicados también los invalidarán por completo.

Ejemplo

En el siguiente archivo de configuración se utiliza un elemento de plantilla <channels> para declarar un HttpChannel con el identificador "httpbinary" y se utiliza un elemento de plantilla <clientProviders> con el fin de especificar BinaryClientFormatterSink para serializar las llamadas remotas. A continuación, se solicita que esta aplicación utilice concretamente esa configuración de canal especificando ref="httpbinary" en el elemento de instancia <channel> dentro del elemento <application>. Finalmente, se utiliza un elemento de instancia <clientProviders> para agregar un proveedor de receptores de canal "propsetter" y se pasan algunos elementos de configuración personalizados que utilizará dicho proveedor de receptores de canal. Observe que el uso del atributo type para especificar un tipo en un ensamblado que se encuentra en la caché global de ensamblados requiere información completa sobre el tipo, incluida la información sobre la versión, referencia cultural y clave pública. Para mayor brevedad, dicha información se ha omitido en los atributos type que aparecen a continuación.

<configuration>
   <system.runtime.remoting>
      <channelSinkProviders>
         <clientProviders>
            <provider 
               id="propsetter" 
               type="ChannelSinkPropertySetterProvider, PropsSink" 
            />
         </clientProviders>
      <channels>
         <channel 
            type="System.Runtime.Remoting.Channels.Http.HttpChannel, System.Runtime.Remoting" 
            id="httpbinary"
         >
            <clientProviders>
               <formatter                   type="System.Runtime.Remoting.Channels.BinaryClientFormatterSinkProvider, System.Runtime.Remoting"
               />
            </clientProviders>
         </channel>
      </channels>
      <application>
         <channels>
            <channel ref="httpbinary">
               <clientProviders>
                  <provider 
                     ref="propsetter" 
                     username="somename" 
                     writeToConsole="true"
                  >
                     <endpoint url="contoso.com:9000" someProp="xyz" />
                     <endpoint url="contoso.com:9001" someProp="123" />
                  </provider>
               </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

Referencia

Esquema de configuración de la comunicación remota

Conceptos

Receptores y cadenas de receptores

Fecha de compilación: 2010-02-13