Compartir a través de


Ejemplo de Custom Proxies Technology

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

En este ejemplo se muestra la extensibilidad de la clase RealProxy. Mediante la extensión de la clase RealProxy, el código de usuario obtiene acceso a los mensajes que se transportan hasta un objeto remoto o desde el mismo. En el ejemplo se crean tres archivos ejecutables. La aplicación ProxyWithReturnMessage.exe reemplaza el método Invoke para mostrar los datos del mensaje. La aplicación ProxyWithCustomCasting.exe utiliza dos interfaces, denominadas IFaq e IBaz, para mostrar las funciones de conversión personalizadas. La aplicación ProxyWiredToHttpChannel.exe muestra cómo interceptar y reenviar la llamada al servicio RemotingHello utilizando el canal HTTP.

hzzt6yfe.Important(es-es,VS.100).gif Nota:
Este ejemplo requiere que los Internet Information Services (IIS) estén instalados en su equipo. Se debe registrar el servicio RemotingHello con IIS antes de ejecutar las aplicaciones de ejemplo.

Para generar el ejemplo desde el símbolo del sistema

  1. Abra una ventana del símbolo del sistema y navegue hasta el subdirectorio CS.

  2. Escriba msbuild CustomProxiesCS.sln en la línea de comandos.

    hzzt6yfe.note(es-es,VS.100).gifNota:
    En este ejemplo se compilan tres aplicaciones de consola. Se deben iniciar y ejecutar mediante la línea de comandos para poder ver el resultado.

Para generar el ejemplo mediante Visual Studio

  1. Abra el Explorador de Windows y navegue hasta el subdirectorio CS.

  2. Haga doble clic en el icono CustomProxiesCS.sln para abrir el archivo en Visual Studio.

  3. En el menú Generar, elija Generar solución.

Para registrar el servicio en IIS

  1. Compile el servicio para generar un archivo DLL y copie este archivo DLL en el directorio bin desde el que se cargará el servicio. La generación del ejemplo mediante el símbolo del sistema o Visual Studio como se describe anteriormente permite compilar el servicio, crea el subdirectorio bin bajo ProxyWiredToHttpChannel y copia el archivo Hello.dll.

  2. Inicie el Administrador de servicios Internet y seleccione Sitio web predeterminado bajo el nodo del servidor. Seleccione Acción, Nueva, Directorio virtual en el menú y haga clic en Siguiente para continuar.

  3. Introduzca RemotingHello como alias y presione Siguiente.

  4. Especifique el directorio en que se encuentra el servicio. Especifique la ruta completa, pero excluya el directorio bin en el que se copió el archivo DLL en el paso 1.

  5. Presione Siguiente. Acepte los valores predeterminados mostrados y presione de nuevo Siguiente. Presione Finalizar. El servicio se ha registrado ahora, y aparecerá bajo la lista de sitios web predeterminados en la ventana Administrador de servicios Internet.

  6. Asegúrese de que hay un archivo web.config en el directorio donde se registró el servicio. Este archivo describe el servicio y se cargará automáticamente cuando un cliente intente tener acceso al servicio con un explorador o un cliente que utilice el canal HTTP en el puerto 80.

Para ejecutar el ejemplo

  1. Navegue hasta el directorio que contiene uno de los tres archivos ejecutables:

    • ProxyWiredToHttpChannel.exe

    • ProxyWithCustomCasting.exe

    • ProxyWithReturnMessage.exe.

    Cada aplicación ejecutable se encuentra en el subdirectorio \bin\Debug bajo el directorio con el mismo nombre que la aplicación de consola.

  2. Escriba el nombre del archivo ejecutable en la línea de comandos. Asegúrese de que el servicio RemotingHello está registrado con IIS, como se ha descrito anteriormente, antes de ejecutar ProxyWiredToHttpChannel.exe.

Vea también

Referencia

IChannel
IMessage
IRemotingTypeInfo
MarshalByRefObject
OneWayAttribute
RealProxy
System.Collections
System.Runtime.Remoting
System.Runtime.Remoting.Proxies
System.Runtime.Remoting.Messaging
UnmanagedType

Conceptos

Extender RealProxy

Otros recursos

Comunicación remota avanzada
Activación de objeto y duraciones

Fecha de compilación: 2010-02-13