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