Je tente de passer un objet distant en tant que paramètre à une méthode distante, mais j'obtiens une exception de sécurité lorsque l'objet distant tente d'exécuter une méthode sur l'objet distant reçu .Transmission d'un objet distant à une méthode distante en C#
Ceci est un exemple d'objet distant:
public class SharpRemotingDLL : MarshalByRefObject
{
public String getRemoteMessage(SharpRemotingDLL server)
{
// the exception is raised here
return server.getMessage();
}
public String getMessage()
{
return "Hello World!";
}
}
Ceci est le démarreur du serveur (deux exemples de ceci sont en cours d'exécution, une sur 127.0.0.10025, l'autre sur 127.0.0.10026):
public static int Main(string[] args)
{
TcpServerChannel channel;
channel = new TcpServerChannel(10025);
ChannelServices.RegisterChannel(channel, false);
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(SharpRemotingDLL),
"SharpRemotingDLL",
WellKnownObjectMode.Singleton);
Console.ReadLine();
return 0;
}
Et c'est le client:
static void Main(string[] args)
{
SharpRemotingDLL server0 = (SharpRemotingDLL)
Activator.GetObject(typeof(SharpRemotingDLL),
"tcp://localhost:10025/SharpRemotingDLL");
SharpRemotingDLL servers[1] = (SharpRemotingDLL)
Activator.GetObject(typeof(SharpRemotingDLL),
"tcp://localhost:10026/SharpRemotingDLL");
Console.WriteLine(server0.getRemoteMessage(server1));
}
Comment puis-je passer correctement server1 en tant que paramètre à la getRemoteMessage méthode?
Cela a résolu, merci! – vbigiani