Comunicación remota asincrónica

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 programación asincrónica en un escenario remoto es idéntica a la programación asincrónica en un dominio o contexto de aplicación único, a excepción de la configuración y de los requisitos de la propia .NET Remoting. Para obtener un ejemplo completo utilizando .NET Remoting y los delegados sincrónicos y asincrónicos, consulte Ejemplo de comunicación remota: comunicación remota asincrónica.

Al igual que la programación asincrónica del dominio de aplicación única, utilizar la programación asincrónica en un escenario de .NET Remoting significa:

  • El llamador decide si una llamada remota determinada es asincrónica.

  • Los tipos remotos no tienen que admitir explícitamente el comportamiento asincrónico por parte de sus clientes.

  • El tiempo de ejecución exige la seguridad de tipos completa.

  • Debe utilizar apropiadamente los objetos System.Threading para esperar o sincronizar sus métodos.

Sin embargo, en una aplicación que llama a través del dominio de aplicación o de límites de contexto, .NET Remoting exige que usted configure la aplicación cliente para que ésta pueda recibir las llamadas remotas del servidor (esto se hace especificando un puerto de "0" en el canal de cliente.) Y este requisito es necesario porque una vez se realiza una llamada asincrónica no existe forma alguna de recuperar los resultados de la llamada, a no ser que el servidor vuelva a llamar al cliente.

El cliente no necesita extender MarshalByRefObject ni configurar cualquier tipo remoto, pero, por otra parte, debe seguir las mismas reglas que cualquier tipo remoto que pretenda ser un servidor:

  • El método de devolución de llamada debe ser un método de instancia. Las llamadas del método estático no se pueden transmitir de un modo remoto.

  • Se debe registrar un canal para escuchar la función de devolución de llamada.

Vea también

Tareas

Cómo: Llamar de forma asincrónica a los métodos de un objeto remoto

Conceptos

Problemas con llamadas asincrónicas a métodos de objetos remotos
Ejemplo de comunicación remota: comunicación remota asincrónica
Configuración de aplicaciones remotas

Otros recursos

Información general de servicios remotos de .NET Framework