Uso de .Net Remoting

10/11/2004 - 12:54 por Hugo Fajardo | Informe spam
Buenos dias...

Les comento que estoy tratando de utilizar el .Net Remoting para acceder a
objetos remotamente en una red Lan. Pero el tema es que estuve tratando de
ver la ayuda en linea y los ejemplos no son muy didacticos.

Por ello agradeceré me envien algun ejemplo "de uso real", alguna
explicación o experiencias al implementar acceso remoto.

Saludos...

HUGO FAJARDO
 

Leer las respuestas

#1 Santi
11/11/2004 - 10:23 | Informe spam
Hola, a ver si te sirve este ejemplo:

using System.Runtime.Remoting.Channels; //To support and handle Channel and
channel sinks
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels.Tcp; //For HTTP channel


Del lado del servidor ( el que escucha ):

private void StartListener(int port)
{
// MSDN: If you want to register more than one TcpChannel, each must have
// a unique name. Set this property to the Empty string ("") if you want
//to ignore names, but avoid naming collisions.
IDictionary channelProperties = new Hashtable();
channelProperties["name"] = "";
channelProperties["port"] = port;
TcpChannel tcpChannel = new TcpChannel(channelProperties, null, null);

ChannelServices.RegisterChannel (tcpChannel); //Register channel
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(SessionData),
"SessionData",
WellKnownObjectMode.Singleton);
}


Del lado del cliente ( SessionData es el objeto remoto ):

public SessionClient( string serverIpAddress, int clientPort, int
serverPort )
{
try
{
string url = "tcp://" + serverIpAddress + ":" + serverPort +
"/SessionData";

// MSDN: If you want to register more than one TcpChannel, each must
have
// a unique name. Set this property to the Empty string ("") if you want
//to ignore names, but avoid naming collisions.
IDictionary channelProperties = new Hashtable();
channelProperties["name"] = "";
channelProperties["port"] = clientPort;
TcpChannel tcpChannel = new TcpChannel(channelProperties, null, null);

ChannelServices.RegisterChannel (tcpChannel); //Register the channel
this.sessionData = (SessionData)Activator.GetObject(typeof(SessionData),
url);
}
catch(Exception e)
{
throw new Exception("Error conectando con el servidor", e);
}
}

Preguntas similares