Pregunta

Dado que mi código de cliente sabe todo lo que necesita sobre el objeto remoto, ¿cuál es la forma más sencilla de conectarse a él?

Esto es lo que estoy haciendo en este momento:

ChannelServices.RegisterChannel(new HttpChannel(), false);

RemotingConfiguration.RegisterWellKnownServiceType(
    typeof(IRemoteServer), "RemoteServer.rem", WellKnownObjectMode.Singleton);

MyServerObject = (IRemoteServer)Activator.GetObject(
    typeof(IRemoteServer),
    String.Format("tcp://{0}:{1}/RemoteServer.rem", server, port));
¿Fue útil?

Solución

Las dos primeras líneas están en el código del lado del servidor, para ordenar el objeto del servidor, ¿no?

En ese caso, sí, la tercera línea es la más simple que puede obtener del lado del cliente.

Además, puede servir objetos adicionales del lado del servidor desde el MiObjetoServidor Por ejemplo, si incluye accesores públicos para ellos en ServidorRemoto interfaz, por lo que acceder a esos objetos se convierte en una simple cuestión de llamadas a métodos o accesos a propiedades en su objeto de servidor principal, por lo que no tiene que usar el activador para cada cosa:

//obtain another marshalbyref object of the type ISessionManager:
ISessionManager = MyServerObject.GetSessionManager();

Otros consejos

WCF.

He usado IPC antes de que existiera WCF y, créanme, IPC es un oso.Y no está documentado completa/correctamente.

¿Cuál es la forma más sencilla de conectarse a un objeto de servidor remoto .NET?WCF.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top