<channel> 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).

Configura el canal que la aplicación utiliza para comunicarse con objetos remotos. Se puede declarar y configurar asimismo un nuevo canal que no sea una plantilla 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.

Schema Hierarchy

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

Sintaxis

<!-- Either reference a channel template --> 
<channel  
   ref="channelRef" 
   displayName="name"
   port="port"
/>
<!-- Or declare a particular channel instance -->
<channel 
   type="ChannelType, ChannelAssembly"
   displayName="name"
   port="port"
   customChannelProperty="propertyValue"
/>

Atributos y elementos

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

Atributos

Atributo Descripción

ref

Atributo opcional.

Indica el id de la plantilla de canal que el cliente desea registrar para utilizarla. Si especifica un atributo ref, no es necesario especificar un atributo type.

.NET Framework Remoting proporciona tres implementaciones de canal: "http", "tcp" e "ipc". Para obtener más información sobre la forma de elegir una implementación de canal, vea Elegir un canal.

displayName

Atributo opcional.

La herramienta Configuración de .NET Framework utiliza este atributo para crear una lista de canales registrados por esta aplicación. El sistema de comunicación remota de .NET Framework no utiliza este atributo.

tipo

Atributo opcional.

Indica el nombre de tipo completo del canal, así como el nombre del ensamblado que contiene la implementación de canales. Esto incluye cualquier información de versión, referencia cultural y clave pública si el ensamblado contenedor se encuentra en la caché global de ensamblados. Se requiere este atributo si no se utiliza un atributo ref.

.NET Framework Remoting proporciona tres implementaciones de canal: "http", "tcp" e "ipc". Para obtener más información sobre la forma de elegir una implementación de canal, vea Elegir un canal.

puerto

Atributo opcional.

Indica un atributo de puerto apropiado. Se puede especificar un atributo de puerto si, por ejemplo, se desea que el canal escuche en un puerto. Algunos canales, como TcpChannel, requieren la especificación de un puerto. Otros canales, como HttpChannel, tienen puertos predeterminados y, por consiguiente, no requieren este atributo. Si se genera un cliente y se especifica 0 (cero) como puerto, el sistema de comunicación remota de .NET Framework se encargará de elegir un puerto apropiado. Si no se especifica ningún puerto para un canal de cliente, el cliente no podrá recibir las funciones de devolución de llamada desde el objeto remoto.

portName

Atributo requerido para un objeto IpcChannel o IpcServerChannel. Especifica el nombre del puerto que el servidor va a exponer.

<customChannelProperty>

Atributo opcional.

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 
   ref="CustomChannel" 
   port="61000"   customProperty="PropertyValue" 
/>

useIpAddress

Valor booleano (true o false) que especifica si se utiliza la dirección IP en la dirección URL de publicación en lugar del nombre de equipo. Por ejemplo, las redes inalámbricas a menudo ordenan aleatoriamente la dirección IP de un equipo portátil mientras se desplaza por la red. Al especificar false para este valor, se usará el nombre del equipo en vez de la dirección, de manera que las comunicaciones remotas no se desconecten durante el desplazamiento. El valor predeterminado es true. Este valor puede reemplazarse por la propiedad machineName cuando la propiedad se utiliza con un canal de servidor.

machineName

Cadena que especifica el nombre del equipo utilizado con el canal actual. Si se utiliza con un canal de servidor, reemplaza el valor de useIpAddress.

Nota   Generalmente, se recomienda utilizar el nombre del equipo según el Sistema de nombres de dominio (DNS), pero cuando la dirección IP de una tarjeta de interfaz de red (NIC) determinada (normalmente una tarjeta NIC inalámbrica) cambia rápidamente, es preciso configurar la aplicación de modo que utilice machineName para que el sistema de comunicación remota encuentre el equipo mediante DNS. Sin embargo, cuando el nombre de equipo no se resuelve con la suficiente rapidez (si es que se resuelve) y cuando el equipo dispone de varias tarjetas NIC, ya sea físicas o virtuales (éste suele ser el caso con una conexión mediante acceso telefónico o un adaptador de red VPN), establezca la propiedad machineName en la dirección IP de la tarjeta NIC que se utiliza para dicha conexión.

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 <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 <channel>.

Elementos primarios

Elemento Descripción

application

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

channels

Contiene los canales que la aplicación utiliza para comunicarse con objetos remotos. Este elemento configura plantillas de canal o declara nuevos canales para utilizarlos con la aplicación especificada.

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

Los canales HttpChannel, TcpChannel y IpcChannel proporcionados por el sistema se especifican en el archivo de configuración del equipo. Sus atributos id son "http", "tcp" e "ipc", respectivamente.

Ejemplo

En el siguiente archivo de configuración se declara la ubicación de un tipo remoto para una aplicación cliente y se utiliza el elemento de instancia <channels> para indicar al sistema de comunicación remota de .NET Framework que debe buscar un puerto apropiado desde el que conectarse al objeto del servidor, y que debe utilizar el HttpChannel predeterminado.

<configuration>
   <system.runtime.remoting>
      <application>
         <client>
            <wellknown 
               type="RemoteType, RemoteAssembly"
               url="http://computername:8080/RemoteType.rem"
            />
         </client>
         <channels>
            <channel 
               ref="http" 
               port="0"
            />
         </channels>
      </application>
   </system.runtime.remoting>
</configuration>

Vea también

Referencia

Esquema de configuración de la comunicación remota
HttpChannel
HttpClientChannel
HttpServerChannel
TcpChannel
TcpClientChannel
TcpServerChannel
IpcChannel
IpcClientChannel
IpcServerChannel

Fecha de compilación: 2010-02-13