Laden...

Remoting: Client-Benachrichtigung

Erstellt von Cougar vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.943 Views
Cougar Themenstarter:in
50 Beiträge seit 2006
vor 15 Jahren
Remoting: Client-Benachrichtigung

Hallo,

ich versuche mich gerade in das Thema .NET-Remoting einzuarbeiten. Meine ersten Versuche haben auch funktioniert und ich konnte eine kleine Client-Server-Anwendung damit erstellen.

Nun habe ich aber eine konkrete Aufgabenstellung und stoße nun an die Grenzen meines Wissens. Vielleicht kann mir einer von Euch auf die Sprünge helfen. Derzeit habe ich ein Problem folgendes zu designen bzw. zu implementieren.

Ich möchte über .NET-Remoting eine instanzierte Klasse, welche von MarshalByRef ableitet, zur Verfügung stellen. Das klappt auch soweit. Nun soll diese Klasse eine Methode zur Verfügung stellen, die nach Übergabe verschiedener Parameter vom Client, eine länger dauernde Aktion auf dem Server ausführen soll.

Im einzelnen:*die Methode ließt anhand der Parameter verschieden Datenbanktabellen auf dem Server *die Methode stellt anschließend eine Collection von Dateinamen zusammen *diese Datein, die quer im lokalen Netzwerk verteilt sind, werden dann in ein Verzeichnis auf dem Server kopiert *anschließend wird das komplette Verzeichnis komprimiert und auf eine DVD gebrannt

Nun möchte ich während dieser Aktionen den Client regelmäßig über die aktuelle Aktion inkl. einer Progressbar informieren. Hiermit tue ich mich nun schwer und weis nicht wie ich es lösen soll. Events dieser Klasse kann ich nicht auf dem Client abonieren und somit auch nicht darauf reagieren. Für jeden Tip bin ich dankbar. Liebe Grüße Björn

Gelöschter Account
vor 15 Jahren

hierfür muss man den client auch eine serverfunktion mitgeben. quasi genau das selbe nur anders herum.

Cougar Themenstarter:in
50 Beiträge seit 2006
vor 15 Jahren

Verstehe ich das richtig, dass ich also auch auf dem Client ebenfalls eine definierte Klasse, die von MarshalByRef ableitet, instanziere, von dieser Klasse dann die Events abonniere und sie dann dem Server mitteile. Der Server könnte dann wiederum eine Methode dieser Klasse aufrufen die dann den Event auf dem Client auslöst.

Habe ich das so richtig verstanden ??

Kann mir vielleicht mal einer ein gutes Code Beispiel nennen, wo so etwas ähnliches gemacht wird ??

Gelöschter Account
vor 15 Jahren

ja du hast es richtig verstanden.

du musst im prinzip genauso vorgehen wie du es bereits gemacht hast mit der ausnahme, das der server zuerst die ip com client übermittelt bekommt.

B
122 Beiträge seit 2004
vor 15 Jahren

Hi geht das nicht auch per callback?

Auf codeproject gibts doch so chat samples 🙂

MFG

Gelöschter Account
vor 15 Jahren

ja, das mit dem callback ist das gleiche prinzip. der client muss immer auch ein objekt auf seiner seite registrieren. uns sich somit auch wie eine server verhalten, nur das im falle vom callback beim aufruf auf dem server gleich ein proxy mitgegeben wird, die dann der server verwenden kann.

im prinzip ist es das selbe nur anders gelöst.

Cougar Themenstarter:in
50 Beiträge seit 2006
vor 15 Jahren

Hey,

danke für Eure Infos. Ich werde dann mal mein Glück versuchen und beim Aufruf der Server Methode ein Proxy vom Client mitzugeben.

Noch eine kleine Frage. Kann jemand ein wirklich gutes Buch empfehlen, welches sich mit dem Thema Client-Server Programmierung und Remoting beschäftigt ?

Gruß Björn