Compartir a través de


Lista de tareas de interacción remota básica

El sistema .NET remoting es una de las diversas formas de establecer comunicación entre dominios de aplicación mediante .NET Framework. Es preciso determinar las características que requiere la aplicación y considerar los recursos de los que dispone antes de elegir un modelo de desarrollo en particular para la aplicación distribuida. Para obtener más información, vea Elegir opciones de comunicación en .NET. En la siguiente lista de tareas se describen los pasos esenciales necesarios para crear una aplicación básica de .NET remoting.

Tareas de host

Para publicar un servicio y utilizarlo desde fuera del dominio de aplicación, debe seguir estos pasos:

  1. Diseñar el servicio.

    1. Elegir un dominio de aplicación host.
    2. Elegir un modelo de activación.
    3. Elegir un canal y un puerto.
    4. Decidir cómo obtendrá el cliente los metadatos del servicio.
  2. Implementar el dominio de aplicación host. Los hosts de interacción remota podrían ser servicios de Windows, aplicaciones de consola, aplicaciones de formularios Windows Forms, procesos de los Servicios de Internet Information Server (IIS) o aplicaciones de ASP.NET. Los requisitos varían según el tipo de aplicación, por lo que es preciso leer la documentación en la que se describe cómo generar el tipo de aplicación que desea utilizar. Para obtener más información, vea Generar aplicaciones.

  3. Configurar en el host el sistema de interacción remota especificando el modo de activación y demás información, como el nombre de la aplicación y el extremo. Si desea configurar el sistema mediante programación, no necesita usar un archivo de configuración. Si usa un archivo de configuración, debe cargarlo en el sistema llamando a RemotingConfiguration.Configure.

  4. Crear en el host el canal apropiado y llamar a ChannelServices.RegisterChannel para registrarlo en el sistema. Si usa un archivo de configuración, debe cargarlo en el sistema llamando a RemotingConfiguration.Configure.

  5. El host no puede ejecutarse sin la clase publicada, pero la forma en que cree el entorno host con la implementación del servicio depende de cómo desee compartir la interfaz pública del mismo.

    Si implementa un servicio Web XML (mediante un HttpChannel con la serialización SOAP predeterminada), su cliente puede obtener la información de tres maneras:

    • Mediante la herramienta Soapsuds (Soapsuds.exe) para extraer la información del extremo.

    • Mediante la descarga de un ensamblado que contenga los metadatos.

    • Mediante la descarga del código fuente para una interfaz.

      **Nota   **El uso del código fuente dará resultado en dos casos. Cuando use la activación del servidor, podrá usar el código fuente de una implementación, una clase abstracta o una interfaz únicamente si compila ese código en un ensamblado que tenga el mismo nombre que la verdadera implementación en el servidor. La identidad del tipo se basa tanto en el nombre del tipo como en el del ensamblado. Cuando use la activación del cliente, deberá crear una clase que aparentemente sea idéntica a la verdadera implementación del servidor. En concreto, la clase del cliente debe estar en un ensamblado con el mismo nombre, tener la misma declaración de clase y tener miembros con las mismas firmas que los del servidor. La implementación de la clase del cliente complementaria no importa, si los metadatos coinciden, se invocará al servidor remoto. Soapsuds.exe crea una clase complementaria para su cliente con el fin de ahorrarle el trabajo.

    Si implementa otro tipo de servicio (por ejemplo, mediante un objeto TcpChannel), su cliente puede obtener la información de dos maneras:

    • Mediante la descarga de un ensamblado que contenga los metadatos.

    • Mediante la descarga del código fuente para una interfaz.

      **Nota   **El uso del código fuente dará resultado en dos casos. Cuando use la activación del servidor, podrá usar el código fuente de una implementación, una clase abstracta o una interfaz únicamente si compila ese código en un ensamblado que tenga el mismo nombre que la verdadera implementación en el servidor, incluida la información sobre el control de versiones. La identidad del tipo se basa en la información tanto del nombre del tipo como del nombre del ensamblado. Cuando use la activación del cliente, deberá crear una clase que aparentemente sea idéntica a la verdadera implementación del servidor. En concreto, la clase del cliente debe estar en un ensamblado con el mismo nombre, tener la misma declaración de clase y tener miembros con las mismas firmas que los del servidor. La implementación de la clase del cliente complementaria no importa, si los metadatos coinciden, se invocará al servidor remoto.

    En cualquiera de los casos, la forma en que empaquete su servicio en su propio dominio de aplicación host dependerá de cómo desee publicar los metadatos necesarios para que otros utilicen el servicio.

Tareas de cliente

Para utilizar un servicio desde fuera del dominio de aplicación, debe seguir estos pasos básicos:

  1. Diseñar el cliente.
    1. Elegir un dominio de aplicación cliente.
    2. Determinar el modo de activación y la dirección URL de activación en el cliente o la dirección URL de objeto conocido del tipo remoto.
    3. Considerar si necesita registrar un canal y un puerto.
    4. Obtener los metadatos del tipo remoto.
  2. Implementar su dominio de aplicación cliente. Los hosts de interacción remota podrían ser servicios de Windows, aplicaciones de consola, aplicaciones de formularios Windows Forms, procesos de los Servicios de Internet Information Server (IIS) o aplicaciones de ASP.NET. Los requisitos varían según el tipo de aplicación, por lo que es preciso leer la documentación en la que se describe cómo generar el tipo de aplicación que desea utilizar. Para obtener más información, vea Generar aplicaciones.
  3. Configurar el sistema de interacción remota de cliente con el modo de activación y demás información, como el nombre de la aplicación y el identificador uniforme de recursos (URI) del objeto. Si desea configurar el sistema mediante programación, no necesita usar un archivo de configuración. Si usa un archivo de configuración, debe cargarlo en el sistema llamando a RemotingConfiguration.Configure.
  4. Crear el canal apropiado y llamar a ChannelServices.RegisterChannel para cargarlo en el sistema. Si usa un archivo de configuración, debe cargar ese archivo en el sistema llamando a RemotingConfiguration.Configure.

Vea también

Generar una aplicación .NET Remoting básica | Elegir opciones de comunicación en .NET | Información general de .NET Remoting | Ejemplos de interacción remota