Información general de servicios remotos de .NET Framework
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).
La comunicación remota de .NET 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. Puede generar aplicaciones cliente que utilizan los objetos de otros procesos en el mismo equipo o en cualquier otro equipo que se puede alcanzar a través de su red. También puede utilizar .NET Remoting para comunicarse con otros dominios de aplicación en el mismo proceso. (Para obtener información detallada sobre la programación de dominios de aplicación, vea Programming with Application Domains.)
.NET Remoting proporciona un enfoque abstracto a la comunicación entre procesos que separa el objeto remoto de un dominio de aplicación concreto de cliente o de servidor y de un mecanismo concreto de comunicación. Como resultado, es flexible y se puede personalizar con facilidad. Puede reemplazar un protocolo de comunicaciones por otro, o un formato de serialización por otro sin volver a compilar el cliente o el servidor. Además, el sistema remoto no supone ningún modelo de aplicación determinado. Puede comunicarse desde una aplicación web, una aplicación de consola, un servicio de Windows: casi desde cualquier parte. Los servidores remotos también pueden ser cualquier tipo de dominio de aplicación. Cualquier aplicación puede hospedar objetos remotos, y así proporcionar sus servicios a cualquier cliente de su equipo o de su red.
Nota: |
---|
Por razones de seguridad, se recomienda encarecidamente exponer los extremos remotos a través de los canales seguros. No exponga nunca en Internet los extremos remotos inseguros. |
Para utilizar .NET Remoting con el fin de generar una aplicación en la que dos componentes se comunican directamente por un límite del dominio de aplicación, solo necesita generar lo siguiente:
Un objeto utilizable de forma remota.
Un dominio de aplicación host para realizar escuchas para las solicitudes de ese objeto.
Un dominio de aplicación cliente que realiza las solicitudes para ese objeto.
Incluso en una aplicación compleja, multicliente o multiservidor, .NET Remoting se puede concebir de esta forma. El host y la aplicación cliente también se deben configurar con la infraestructura utilizable de forma remota, y usted debe entender los problemas del período de duración y de la activación que emite la infraestructura remota.
En esta sección
- Generar una aplicación básica de comunicación remota de .NET Framework
Muestra el escenario de .NET Remoting básico generando un tipo remoto, una aplicación de agente de escucha así como un archivo de configuración, una aplicación cliente y un archivo de configuración.
- Arquitectura remota de .NET Framework
Describe la arquitectura del sistema .NET Remoting.
- Hacer que los objetos sean remotos
Describe los límites remotos y cómo implementar tipos que se pueden activar por esos límites.
- Activación de objeto y duraciones
Describe los tipos diferentes de activación remota y cómo administrar los períodos de duración del objeto remoto.
- Canales
Describe los canales definidos en el sistema y proporciona la información que necesita para decidir cuál es el mejor canal para su escenario.
- Configuración de aplicaciones remotas
Describe los requisitos de configuración básicos de la infraestructura .NET Remoting, los tipos de configuración que se pueden utilizar para satisfacer estos requisitos, y las necesidades particulares de varios dominios de aplicación cliente y servidor.
- Información de versión en comunicación remota
Describe cómo funciona el control de versiones en un escenario remoto.
- Seguridad en comunicación remota
Describe los requisitos de seguridad para utilizar los enfoques remotos y básicos con el fin de ayudar a generar aplicaciones remotas seguras.
- Comunicación remota asincrónica
Describe cómo realizar la programación asincrónica en un escenario remoto.
- Cómo: Llamar de forma asincrónica a los métodos de un objeto remoto
Muestra cómo realizar una llamada asincrónica a un método de un objeto remoto.
- Problemas con llamadas asincrónicas a métodos de objetos remotos
Describe los problemas que pueden surgir al realizar una llamada asincrónica a un método de un objeto remoto.
- CallContexts y comunicación remota directa
Describe cómo pasar los datos adicionales con llamadas de método remoto utilizando CallContext y cómo publicar dinámicamente objetos para el uso remoto.
Referencia
- Esquema de configuración de la comunicación remota
Proporciona información de referencia sobre los elementos que se pueden utilizar para configurar .NET Remoting mediante un archivo de configuración.
- System.Runtime.Remoting
Proporciona información de referencia sobre los tipos que se pueden utilizar para realizar la comunicación remota en .NET.
- System.Runtime.Remoting.Activation
Contiene clases y objetos que admiten la activación de objetos y de clientes de objetos remotos.
- 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 para canales que utilizan el protocolo HTTP para transportar mensajes y objetos a ubicaciones remotas o desde ellas.
- System.Runtime.Remoting.Channels.Ipc
Contiene clases que definen un canal de comunicación para la interacción remota que utiliza el sistema de comunicaciones entre procesos (IPC) del sistema operativo Windows.
- System.Runtime.Remoting.Channels.Tcp
Contiene clases que definen los canales que utilizan el protocolo TCP para transportar mensajes y objetos a ubicaciones remotas o desde ellas.
- 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 mensajes 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 el lenguaje de definición de esquemas XML (XSD), tal y como lo definió el consorcio World Wide Web (W3C) en 2001.
- System.Runtime.Remoting.MetadataServices
Contiene las clases utilizadas por la herramienta de línea de comandos Soapsuds.exe y el código de usuario para convertir los 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
- Comunicación remota avanzada
Describe los puntos básicos de interceptación y extensión que puede utilizar para personalizar la arquitectura de .NET Remoting.
- Ejemplos de comunicación remota
Proporciona varios ejemplos de aplicación completos que utilizan elementos diferentes de la infraestructura remota.
Fecha de compilación: 2010-02-13