Anmelden

Remoting ohne Interfaces

(Nsoft/Samples/Remoting1:

  • eine Klasse/Objekt (: MarshalByRefObject) kann direkt remote instanziiert und verwendet werden
  • Übertragung von Objektreferenzen vom Server zum Client ist möglich
  • das remote-fähige Objekt (Klasse) ist gleichzeitig der lokale Stube, die Assembly muss deshalb beim Client und beim Server vorliegen
  • Das Remoting wird über die App.confug konfiguriert
  • die Lebenszeit im Server wird durch Timing überwacht, ggf muss der GC explizit aufgerufen werden, um aubgelaufene Objekte zulöschen

Beispiele

Ich habe mal mit remoting etwas rumgespielt (aus Microkernel): 5 Mini-Projekte

  • RemotableType (Logik)
  • Host (Remoting-Server als Console)
  • WebHost (als IIS Remoting-Service)
  • Client (Remoting-Client als Console)
  • WebClient (Remoting-Client als Webapp)

Alle möglichen Kombinationen funktionieren:

  1. Host.exe starten bzw. IIS virtuelles Verzeichnis einrichten
  2. Client.exe starten bzw. default.aspx unter VS im Browser anzeigen

die URLs für IIS-Host und Console-Host sind unterschiedlich, Client muss entsprechend umkonfiguriert werden

  • Remotefähige Objekte kann man immer auch local verwenden ohne im Programmcode zu ändern (!), es gibt im Client-config lediglich eine Einstellung, wo das Bootstrapper-Objekt liegt (lokal oder url). Einzigste Vorraussetzung ist das Ableiten von MarshalByRefObject.
  • Natürlich kann und sollte man mit Interfaces arbeiten. Man muss aber nicht. Diese Variante ohne Interfaces bietet aber die Möglichkeit, unbekannte finale remote-Klassen über den TypeDescriptior erforschen zu können (siehe PassedType2).
   
Top

Wir arbeiten mit Software von http://www.campus21.de.

Verantwortlich für angezeigte Daten ist der Webdomain-Eigentümer laut Impressum.

Suche