Configuración de objetos remotos

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

Los programadores que publican o usan objetos utilizados de forma remota son responsables de la configuración del sistema .NET Remoting de modo que las aplicaciones que lo utilizan funcionen correctamente. Para ello, puede usar un programa, el archivo de configuración de la aplicación o el archivo de configuración del equipo. Los administradores pueden utilizar la herramienta Configuración de .NET Framework para apuntar a clientes remotos en diferentes extremos o para modificar la duración de los objetos activados en el cliente (<activated>) o activados en el servidor (<wellknown>) cuando sea necesario.

Las clases que se utilizan de forma remota se registran colocándolas dentro del elemento <application>, que es un elemento secundario del elemento <system.runtime.remoting>. Los objetos que utiliza una aplicación son agrupados por la aplicación remota en la sección <client> del elemento <application>. Los objetos que expone una aplicación se declaran dentro de una sección <service> en el nodo <application>. Si no está hospedando sus tipos remotos en Internet Information Services (IIS), puede especificar un atributo name para su aplicación que, a continuación, se vuelve parte de su dirección URL de activación, pero no se requiere en cualquier escenario. Para obtener más información acerca de hospedaje en IIS, vea Alojar objetos remotos en Servicios de Internet Information Server (IIS).

Además, .NET Remoting no recoge automáticamente ningún valor de configuración remoto en el archivo de configuración de la aplicación. Para configurar la comunicación remota mediante un archivo de configuración, debe llamar a RemotingConfiguration.Configure. El único caso en el que el dominio de la aplicación host carga automáticamente el archivo de configuración de comunicación remota es cuando el tipo que se utiliza de forma remota está hospedado en IIS. En este caso, .NET Remoting sólo recogerá de forma automática la configuración del servicio del archivo Web.config. La configuración del cliente se pasará por alto hasta que el archivo de configuración vuelva a cargarse con una llamada directa al método RemotingConfiguration.Configure.

El esquema siguiente muestra la estructura de los elementos que se pueden utilizar para configurar una aplicación de modo que use .NET Remoting.

<configuración>

<system.runtime.remoting>

<application>

<lifetime>

<channels> (Instancia)

<channel> (Instancia)

<serverProviders> (Instancia)

<provider> (Instancia)

<formatter> (Instancia)

<clientProviders> (Instancia)

<provider> (Instancia)

<formatter> (Instancia)

<client>

<wellknown> (Instancia de cliente)

<activated> (Instancia de cliente)

<service>

<wellknown> (Instancia de servicio)

<activated> (Instancia de servicio)

<soapInterop>

<interopXmlType>

<interopXmlElement>

<preLoad>

<channels> (Plantilla)

<channel> (Plantilla)

<serverProviders> (Instancia)

<provider> (Instancia)

<formatter> (Instancia)

<clientProviders> (Instancia)

<provider> (Instancia)

<formatter> (Instancia)

<channelSinkProviders>

<serverProviders> (Plantilla)

<provider> (Plantilla)

<formatter> (Plantilla)

<clientProviders> (Plantilla)

<provider> (Plantilla)

<formatter> (Plantilla)

<debug>

Para utilizar la configuración de comunicación remota, debe llamar a RemotingConfiguration.Configure en el archivo de configuración de la aplicación. Tenga en cuenta que Common Language Runtime carga automáticamente el archivo de configuración del equipo antes de cargar el de la aplicación. No llame a RemotingConfiguration.Configure en el archivo de configuración del equipo. Si lo hace puede iniciar excepciones cuando vuelvan a cargarse algunos objetos que ya estén en la memoria.

Configuración de la duración

Para especificar una duración predeterminada para todos los objetos activados en el cliente y los objetos Singleton activados en el servidor en una aplicación, se utiliza el elemento <lifetime>.

Para obtener más información acerca de la configuración mediante programación y conceptos relacionados con la duración, vea Concesiones del período de duración.

Elementos de instancia y elementos de plantilla

Hay dos tipos de elementos relacionados con la generación de canales: elementos de plantilla y elementos de instancia. Los elementos de plantilla se utilizan para declarar un canal, un proveedor de receptores de canal de servidor o de cliente, o un formateador de receptores de canal o de servidor para utilizarlo en cualquier lugar dentro de la misma aplicación simplemente haciendo referencia al atributo ID del elemento de plantilla.

42d55ae3.note(es-es,VS.100).gifNota:
Siempre que se utiliza el atributo type en un elemento de plantilla para crear una configuración predeterminada que utilice un tipo implementado por el sistema, como BinaryFormatter o HttpChannel, se debe especificar la información de tipo completa, incluida la información de versión, de referencia cultural y de nombre seguro. Dicha información puede obtenerse del archivo machine.config o mediante la utilidad de la caché global de ensamblados Gacutil.exe. Esto no es necesario si el tipo se define en un ensamblado que no esté en la caché global de ensamblados sino que sea localizable, o si se hace referencia al tipo en un elemento de instancia, donde se puede utilizar el atributo ref.

Vea también

Tareas

Cómo configurar el período de duración de un objeto remoto activado en el cliente o activado en el servidor
Cómo configurar canales

Referencia

System.Runtime.Remoting.RemotingConfiguration Class

Conceptos

Configuración de aplicaciones remotas
Canales
Registro de canales
Registro en el servidor
Registro en el cliente
Registro de canales

Otros recursos

Registro de objetos remotos mediante archivos de configuración
Información general de servicios remotos de .NET Framework