Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para generar un cliente del tipo remoto definido en Cómo: Generar un tipo de objeto utilizable de forma remota y hospedado por la aplicación creada Cómo: Generar una aplicación host, su aplicación se debe registrar como un cliente para ese objeto remoto y a continuación, debe invocarlo como si éste estuviera en el dominio de aplicación del cliente. El sistema .NET Remoting intercepta las llamadas de su cliente, las reenvía al objeto remoto y devuelve los resultados a su cliente. El procedimiento siguiente describe cómo generar un cliente remoto básico.
Nota: |
|---|
Vea Cómo: Compilar y ejecutar una aplicación remota básica para obtener instrucciones completas sobre cómo generar y ejecutar este ejemplo. |
Para generar un cliente remoto básico
Continuando desde Cómo: Generar una aplicación host, cree un nuevo directorio en
remotingllamadoclient. Cree un archivo de configuración para la aplicación cliente tal como se muestra en el siguiente código y guarde el archivo en el directorioremoting\client. El nombre de archivo debería seguir el modelo de app-name.exe.config. En este caso, se denominaclient.exe.config. El siguiente archivo de configuración le indica al sistema remoto que la información de tipo para el objeto remotoRemotableTypese puede encontrar en el ensambladoRemotableTypey el objeto se encuentra en https://localhost:8989/RemotableType.rem.<configuration> <system.runtime.remoting> <application> <client> <wellknown type="RemotableType, RemotableType" url="https://localhost:8989/RemotableType.rem" /> </client> </application> </system.runtime.remoting> </configuration>Para obtener detalles sobre el atributo URL de este archivo de configuración, vea Direcciones URL de activación. Si desea ejecutar esta aplicación a través de una red, debe reemplazar “host local” en la configuración del cliente por el nombre del equipo remoto.
Nota:Aunque en el archivo de configuración precedente solamente hay algunos valores, la mayoría de los problemas al utilizar .NET Remoting se producen porque algunos de estos valores no coinciden con los valores de configuración de las aplicaciones del cliente. Resulta fácil escribir un nombre de forma errónea, olvidar un puerto o descuidar un atributo. Si tiene problemas con su aplicación remota, compruebe primero sus valores de configuración.
Cree un nuevo archivo de origen en el idioma elegido. En el método principal, llame RemotingConfiguration.Configurey proporcione el nombre del archivo de configuración del cliente (
client.exe.config). Luego, cree instancias de una instancia deRemotableTypey llame a su métodoSayHello. Guarde la aplicación cliente comoClient.csoClient.vben el directorioremoting\client.
Nota:La aplicación cliente no debería guardarse en el mismo directorio que la aplicación Listener.exe. En caso de que la guarde, no puede estar seguro de recibir y utilizar una referencia remota, puesto que el ensamblado y la resolución de tipo pueden producirse cuando las aplicaciones están en el mismo directorio.
Public Shared Sub Main() RemotingConfiguration.Configure("Client.exe.config") Dim remoteObject As New RemotableType() Console.WriteLine(remoteObject.SayHello()) End Sub 'Main public static void Main(){ RemotingConfiguration.Configure("Client.exe.config"); RemotableType remoteObject = new RemotableType(); Console.WriteLine(remoteObject.SayHello()); }Copie el ensamblado RemotableType.dll de
remoting\Typeenremoting\client.
Nota:Una pregunta común llegado este punto es: ¿"Cómo reconozco que se llama al objeto remoto si estoy copiando el ensamblado en el cliente?" Y este es el motivo por el cual añadimos la llamada a
Console.WriteLineen el métodoRemotableType.SayHello(). Si se llama al objeto remotoWriteLinese produce en el proceso del agente de escucha, si noWriteLinese produce en el proceso del cliente.Compile la aplicación cliente escribiendo el comando siguiente en el directorio
remoting\client:vbc /r:RemotableType.dll Client.vb csc /noconfig /r:RemotableType.dll Client.csAbra un máximo de dos símbolos del sistema. En uno, vaya al directorio remoting\listener y ejecute listener.exe. En el otro, vaya al directorio remoting\client y ejecute client.exe. El parámetro de confirmación del cliente se debería parecer a éste:
C:\tmp\Remoting\client>client Hello, worldEl parámetro de confirmación del agente de escucha se debería parecer a éste:
C:\tmp\Remoting\listener>listener Listening for requests. Press Enter to exit... RemotableType.SayHello() was called!Puede ver por el resultado del agente de escucha que recibió una llamada a
RemotableType.SayHello().
Ejemplo
' Client.vb
Imports System
Imports System.Runtime.Remoting
Public Class Client
Public Shared Sub Main()
RemotingConfiguration.Configure("Client.exe.config")
Dim remoteObject As New RemotableType()
Console.WriteLine(remoteObject.SayHello())
End Sub 'Main
End Class 'Client
// Client.cs
using System;
using System.Runtime.Remoting;
public class Client{
public static void Main(){
RemotingConfiguration.Configure("Client.exe.config");
RemotableType remoteObject = new RemotableType();
Console.WriteLine(remoteObject.SayHello());
}
}
Consulte también
Tareas
Cómo: Generar una aplicación host
Referencia
Esquema de configuración de la comunicación remota
Conceptos
Configuración de aplicaciones remotas
Activación del servidor
Otros recursos
Generar una aplicación básica de comunicación remota de .NET Framework
.gif)
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.