Remoting kein Callback möglich.....

J

Jannis Linxweiler

Hallo NG!

Ich habe ein Problem mit .NET Remoting.

Bisweilen habe ich herausbekommen, daß mein grundsätzliches Problem mit den
Securityoptions vom .NET Framework zusammenhängt. Ich habe dann die
notwendigen Modifikation am ServerFormatterSinkProvider vorgenommen, habe
aber immer noch ein Problem.

Ich übergebe dem Remoteobjekt zu Callbackzwecken ein MarshalByRefObjekt das
im Client instanzieiert wurde. Ein Zugriff vom Remotobjekt auf dieses Objekt
schlägt allerdings fehl. Es sei denn, Serveranwendung und Clientanwendung
laufen auf dem selben Rechner. In diesem Fall bekomme ich keinerlei
Fehlermeldungen. Ansonsten wird eine Securityexception geworfen.

Ich finde leider meinen Fehler nicht, habe aber den Verdacht, dass ich etwas
bei der Definition der Channel falsch gemacht habe.

Meine beiden Channel sehen folgender maßen aus:

Server:
BinaryServerFormatterSinkProvider provider = new
BinaryServerFormatterSinkProvider();
provider.TypeFilterLevel =
System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
BinaryClientFormatterSinkProvider clientProv = new
BinaryClientFormatterSinkProvider();
System.Collections.IDictionary props = new System.Collections.Hashtable();
props["port"] = 65100;
TcpChannel chan = new TcpChannel(props, clientProv, provider);
ChannelServices.RegisterChannel(chan);
.....
Calculator calc = new Calculator();
RemotingServices.Marshal(calc,"theEndPoint");

Client:
BinaryServerFormatterSinkProvider provider = new
BinaryServerFormatterSinkProvider();
provider.TypeFilterLevel =
System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
BinaryClientFormatterSinkProvider clientProv = new
BinaryClientFormatterSinkProvider();
System.Collections.IDictionary props = new System.Collections.Hashtable();
props["port"] = 0;
TcpChannel chan = new TcpChannel(props, clientProv, provider);
ChannelServices.RegisterChannel(chan);
.....
ICalc calc = (ICalc) Activator.GetObject(
typeof(RemoteTaschenrechner.ICalc),
"tcp://192.168.123.15:65100/theEndPoint");
 
J

Jannis Linxweiler

Sorry wrong NQ.... ein wanted to post it in the German NG for C#....

Jannis Linxweiler
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top