Información general de .NET Framework Remoting
.NET Remoting permite crear fácilmente aplicaciones ampliamente distribuidas, tanto si los componentes de las aplicaciones están todos en un equipo como si están repartidos por el mundo. Se pueden crear aplicaciones de cliente que utilicen objetos en otros procesos del mismo equipo o en cualquier otro equipo disponible en la red. También se puede utilizar .NET Remoting para comunicarse con otros dominios de aplicación en el mismo proceso. (Para obtener más información sobre la programación de los dominios de aplicación, vea Programar con dominios de aplicación.)
.NET Remoting proporciona un enfoque abstracto en la comunicación entre procesos que separa el objeto utilizado de forma remota de un dominio de aplicación de cliente o servidor específico y de un mecanismo específico de comunicación. Por lo tanto, se trata de un sistema flexible y fácilmente personalizable. Se puede reemplazar un protocolo de comunicación con otro o un formato de serialización con otro sin tener que recompilar el cliente ni el servidor. Además, el sistema de interacción remota no presupone ningún modelo de aplicación en particular. Se puede comunicar desde una aplicación Web, una aplicación de consola, un servicio de Windows, desde casi cualquier aplicación que se desee utilizar. Los servidores de interacción remota también pueden ser cualquier tipo de dominio de aplicación. Cualquier aplicación puede albergar objetos de interacción remota y proporcionar sus servicios a cualquier cliente en su equipo o red.
Nota
Por motivos de seguridad, es muy recomendable exponer los extremos de interacción remota a través de canales seguros. No exponga nunca extremos de interacción remota inseguros en Internet.
Si desea utilizar .NET Remoting para crear una aplicación en la que dos componentes se comunican directamente más allá de los límites de los dominios de aplicación, sólo deberá crear lo siguiente:
Un objeto que se puede utilizar de forma remota.
Un dominio de aplicación host para escuchar las solicitudes de dicho objeto.
Un dominio de aplicación de cliente que realiza solicitudes para dicho objeto.
Incluso en una aplicación compleja de varios clientes o servidores, .NET Remoting puede considerarse de esta manera. Las aplicaciones host y cliente también deben configurarse con la infraestructura remota y es preciso comprender las cuestiones de vida útil y de activación que conlleva dicha infraestructura.
En esta sección
- Generar una aplicación .NET Framework Remoting básica
Muestra el escenario básico de .NET Remoting mediante la creación de un tipo que se puede utilizar de forma remota, una aplicación de escucha y un archivo de configuración, así como una aplicación de cliente y un archivo de configuración.
- Arquitectura de .NET Framework Remoting
Describe la arquitectura del sistema .NET Remoting.
- Convertir objetos en objetos utilizables de forma remota
Describe los límites de interacción remota y cómo implementar tipos que se pueden activar más allá de dichos límites.
- Períodos de duración y activación de objetos
Describe los diferentes tipos de activación remota y cómo administrar los períodos de duración de los objetos remotos.
- Canales
Describe los canales definidos por el sistema y facilita la información necesaria para elegir el canal más apropiado.
- Configuración de aplicaciones remotas
Describe los requisitos de configuración básicos de la infraestructura de .NET Remoting, los tipos de configuración que se pueden utilizar para cumplir estos requisitos, así como las necesidades específicas de varios dominios de aplicación de servidor y de cliente.
- Información de versión en interacción remota
Describe cómo funciona el control de versiones en un escenario remoto.
- Seguridad en un sistema de interacción remota
Describe los requisitos de seguridad para utilizar los enfoques básicos y de interacción remota con el fin de ayudar en la creación de aplicaciones remotas seguras.
- Interacción remota asincrónica
Describe cómo realizar la programación asincrónica en un escenario remoto.
- Cómo llamar a métodos de objeto remoto de forma asincrónica
Muestra cómo hacer una llamada asincrónica a un método de un objeto remoto.
- Problemas con métodos de llamada asincrónica de objetos remotos
Describe problemas que pueden surgir al hacer una llamada asincrónica a un método de un objeto remoto.
- CallContexts e interacción remota directa
Describe como pasar datos adicionales a las llamadas de método remotas mediante CallContext y cómo publicar dinámicamente los objetos para su uso remoto.
Referencia
- Remoting Settings Schema
Proporciona información de referencia acerca de los elementos que se pueden utilizar para configurar .NET Remoting mediante un archivo de configuración.
- System.Runtime.Remoting
Proporciona información de referencia acerca de los tipos que se pueden utilizar para ejecutar .NET Remoting.
- System.Runtime.Remoting.Activation
Contiene clases y objetos que admiten la activación de objetos remotos en el servidor o el cliente.
- System.Runtime.Remoting.Channels
Contiene clases que admiten y controlan canales y receptores de canales, que se utilizan como medio de transporte cuando un cliente llama a un método de un objeto remoto.
- System.Runtime.Remoting.Channels.Http
Contiene clases de canales que utilizan el protocolo HTTP para transportar mensajes y objetos a ubicaciones remotas, o viceversa.
- System.Runtime.Remoting.Channels.Ipc
Contiene clases que definen un canal de comunicación para la interacción remota que utiliza el sistema de comunicación entre procesos (IPC) del sistema operativo Windows.
- System.Runtime.Remoting.Channels.Tcp
Contiene clases que definen canales que utilizan el protocolo TCP para transportar mensajes y objetos a ubicaciones remotas, o viceversa.
- System.Runtime.Remoting.Contexts
Contiene objetos que definen los contextos en los que residen todos los objetos remotos.
- System.Runtime.Remoting.Lifetime
Contiene clases que administran la duración de los objetos remotos.
- System.Runtime.Remoting.Messaging
Contiene clases que se utilizan para crear y transmitir mensajes.
- System.Runtime.Remoting.Metadata
Contiene clases y atributos que se pueden utilizar para personalizar la generación y el procesamiento de SOAP para objetos y campos.
- System.Runtime.Remoting.Metadata.W3cXsd2001
Contiene la definición de esquemas XML (XSD), tal y como la definió en 2001 el consorcio World Wide Web (W3C).
- System.Runtime.Remoting.MetadataServices
Contiene las clases utilizadas por la herramienta de línea de comandos Soapsuds Tool (Soapsuds.exe) y el código de usuario para convertir metadatos a esquemas XML, o viceversa, para la infraestructura de interacción remota.
- System.Runtime.Remoting.Proxies
Contiene clases que controlan y proporcionan funcionalidad a los servidores proxy.
- System.Runtime.Remoting.Services
Contiene clases de servicios que proporcionan funcionalidad a .NET Framework.
Secciones relacionadas
- Interacción remota avanzada
Describe los puntos básicos de la interceptación y extensión que se pueden utilizar para personalizar la arquitectura de .NET Remoting.
- Ejemplos de interacción remota
Proporciona varias aplicaciones completas de ejemplo que utilizan elementos distintos de la infraestructura de interacción remota.