.Net-Remoting: Überprüfung ob Serverprozess läuft
-
Hallo,
wie kann ich clientseitig überpüfen, ob eine bestimmte Klasse
serverseitig "remoted" wurde?Bsp:
Server:
...
TestKlasse aTestKlasse = new TestKlasse();
RemotingServices.Marshal(aTestKlasse, "Testklasse.rem");Client:
...
Hier möchte ich überprüfen, ob "Testklasse.rem" zugreifbar ist, also nicht nur ein Proxi erstellt werden kann
...Gruß und ein Dankeschön
SlEasy
-
Hi,
einfach im Try-catch-Block drauf zugreifen:
private bool ConnectToServer(out IServer Server) { Server=null; try { Server=Activator.GetObject(typeof(IServer),"Server.tcp"); // Server ist nun ein Proxy-Object. Die Verbindung zum Server ist aber noch nicht hergestellt // hergestellt wird die Verbindung erst bein ersten Zugriff auf das Objekt // dazu kann man eine Property im Server einbauen, welches einfach true zurückgibt: ich nenns mal "Online" return Server.Online; // wenn er nicht online ist, gibs hier ne Exception und diese Methode gibt false zurück. // im Property "Online" kann man dann noch Zustände auf dem Server prüfen. // Beispielsweise könnte ein Server von einem anderen Server abhängigsein. // In dieser Eigenschaft könnte man dann prüfen, // ob eine Verbindung hergestellt werden kann. } catch(Exception E) { Console.WriteLine(E.Message); Server=null; return false; } }
ist noch nicht perfekt, aber schon ein brauchbarer Ansatz.