Ayuda urgente con Remoting

03/12/2005 - 21:37 por Alexander | Informe spam
Hola
Necesito que me ayudes con el siguiente problema que tengo con remoting.
Anteriormente cuando queria probar algo con respecto a Remoting habria un
ejemplo que descargue de code-project.com y hacia lo que tenia que hacer,
pero hace varios dias estoy tratando de crear una aplicacion server y otra
cliente y no logro establecer la comunicacion. A continuacion te muestro los
pasos que sigo, quizas me falta algo y me puedas aclarar al respecto

En ambas aplicaciones incluyo la referencia a :

System.Runtime.Remoting;
System.Runtime.Remoting.Channels;
System.Runtime.Remoting.Channels.Tcp;
System.Runtime.Remoting.Channels.Htpp;

y tengo en ambos lados una clase Remoto

public class Remoto : MarshalByRefObject
{


public Remoto()
{
}

public string CallMe(string name)
{
if(name == "")
return "nombre no valido"
else
return name + "recivido";

}

}


En el server

ChannelServices.RegisterChannel(new TcpChannel(8080));

Remoto obj = new Remoto();
ObjRef ref = RemotingServices.Marshal(obj,"Prueba");

En el cliente

ChannelServices.RegisterChannel(new TcpChannel());

objeto = (Remoto)Activator.GetObject(typeof(Remoto),

"tcp://localhost:8080/prueba");

y en un evento o en la consola

llamo al metodo remoto

objeto.CallMe("alexander");

esto me lanza una exepcion

Cannot load type cliente.Remoto, cliente, Version=1.0.2163.28590,
Culture=neutral, PublicKeyToken=null.

He probado hacer esto de varias maneras ,en una consola, en un formulario,
con RegisterWellKnownServiceType... y no acabo de lograr la comunicacion.

Como puedo solucionar esto, sinceramente no se que hacer , practicamente los
ejemplo que he descargado de Internet hacen los mismos pasos que te explique
arriba.

Saludos

Alexander
 

Leer las respuestas

#1 A.Poblacion
04/12/2005 - 10:24 | Informe spam
Donde dices "tengo en ambos lados una clase Remoto", asegurate de que no has
copiado el fuente de la clase Remoto en el cliente y en el servidor, sino
que "Remoto" está en una única DLL a la que hacen referencia tanto el
proyecto cliente como el servidor. Si no lo haces asi, el cliente y el
servidor compilan distintas versiones de la clase Remoto, y por eso te da el
error de "Cannot load type ... cliente ... Version=1.0.2163.28590".


"Alexander" wrote in message
news:
Hola
Necesito que me ayudes con el siguiente problema que tengo con


remoting.
Anteriormente cuando queria probar algo con respecto a Remoting habria un
ejemplo que descargue de code-project.com y hacia lo que tenia que hacer,
pero hace varios dias estoy tratando de crear una aplicacion server y otra
cliente y no logro establecer la comunicacion. A continuacion te muestro


los
pasos que sigo, quizas me falta algo y me puedas aclarar al respecto

En ambas aplicaciones incluyo la referencia a :

System.Runtime.Remoting;
System.Runtime.Remoting.Channels;
System.Runtime.Remoting.Channels.Tcp;
System.Runtime.Remoting.Channels.Htpp;

y tengo en ambos lados una clase Remoto

public class Remoto : MarshalByRefObject
{


public Remoto()
{
}

public string CallMe(string name)
{
if(name == "")
return "nombre no valido"
else
return name + "recivido";

}

}


En el server

ChannelServices.RegisterChannel(new TcpChannel(8080));

Remoto obj = new Remoto();
ObjRef ref = RemotingServices.Marshal(obj,"Prueba");

En el cliente

ChannelServices.RegisterChannel(new TcpChannel());

objeto = (Remoto)Activator.GetObject(typeof(Remoto),

"tcp://localhost:8080/prueba");

y en un evento o en la consola

llamo al metodo remoto

objeto.CallMe("alexander");

esto me lanza una exepcion

Cannot load type cliente.Remoto, cliente, Version=1.0.2163.28590,
Culture=neutral, PublicKeyToken=null.

He probado hacer esto de varias maneras ,en una consola, en un formulario,
con RegisterWellKnownServiceType... y no acabo de lograr la comunicacion.

Como puedo solucionar esto, sinceramente no se que hacer , practicamente


los
ejemplo que he descargado de Internet hacen los mismos pasos que te


explique
arriba.

Saludos

Alexander

Preguntas similares