Compartir a través de


Elemento <channel> (plantilla)

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 de instancia <channel> en el atributo ref de esta plantilla.

<configuration>
   <system.runtime.remoting>
      <channels>
         <channel>

<channel 
   id="channelID"    type="ChannelType, ChannelAssembly"   displayName="displayName"   customChannelProperty="customChannelValue"   <!-- Available only to client configurations -->   delayLoadAsClientChannel="true|false"/>

Atributos requeridos

Atributo Descripción
id Proporciona la cadena que las aplicaciones utilizan para identificar el canal en el registro. Para hacer referencia a esta plantilla de canal, especifique este atributo como el valor del atributo ref en el elemento de instancia <channel>.
type Especifica el nombre de tipo completo del objeto así como el nombre del ensamblado que contiene la implementación de clases. 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.

Atributos opcionales

Atributo Descripción
displayName Lo utiliza la herramienta Configuración de .NET Framework para crear una lista de canales utilizados por esta aplicación. El sistema .NET Remoting no utiliza este atributo.
delayLoadAsClientChannel Indica si debe cargarse este canal si el cliente no registra un canal para la aplicación. Este valor es un valor booleano y sólo afecta al comportamiento del cliente. El valor true indica que el sistema .NET Remoting debe probar este canal en tiempo de ejecución para ver si admite una conexión de cliente mediante el esquema de protocolo especificado en la dirección URL de activación remota. Si no está presente el valor, el valor predeterminado es false.
<customChannelProperty> Indica una propiedad de canal personalizado compatible. Se puede especificar un número ilimitado de propiedades de canal compatibles con los canales. Una propiedad de canal personalizado se especifica con un par atributo/valor. Por ejemplo:
<channel id="CustomChannel" type="Namespace.CustomChannel, CustomChannels" customProperty="PropertyValue"/>

Elementos secundarios

Elemento Descripción
<serverProviders> Contiene los proveedores de los receptores que se han de insertar en la cadena de llamadas de receptores de canal del servidor. Si se han especificado, éstos reemplazan completamente los valores predeterminados del canal. Puede producirse una sola vez en el elemento de plantilla <channel>.
<clientProviders> Contiene los proveedores de los receptores que se han de insertar en la cadena de llamadas de receptores de canal del cliente. Si se han especificado, éstos reemplazan completamente los valores predeterminados del canal. Puede producirse una sola vez en el elemento de plantilla <channel>.

Comentarios

Las plantillas de canal pueden encontrarse en el archivo de configuración del equipo, el archivo de la aplicación o cualquier otro archivo que se cargue llamando a RemotingConfiguration.Configure().

Ejemplo

En el siguiente archivo de configuración se utiliza un elemento de plantilla <channels> para declarar un HttpChannel con el id "httpbinary" que utiliza el BinaryClientFormatterSink para serializar las llamadas remotas. A continuación, se solicita que esta aplicación de cliente utilice dicha configuración de canal en concreto especificando ref="httpbinary" en el elemento de instancia <channel> dentro del elemento <application>. Finalmente, se agrega 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é de ensamblados global 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" password="xyz" />
                     <endpoint url="contoso.com:9001" password="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

Esquema de la configuración de la interacción remota | HttpChannel | HttpClientChannel | HttpServerChannel | TcpChannel | TcpClientChannel | TcpServerChannel