Laden...

WCF Service "Online" Binding

Erstellt von Campy vor 12 Jahren Letzter Beitrag vor 12 Jahren 890 Views
C
Campy Themenstarter:in
439 Beiträge seit 2008
vor 12 Jahren
WCF Service "Online" Binding

Hallo zusammen,

ich möchte bei meiner WCF - Desktop Anwendung zu Lizenzierungszwecken wissen, wie viele Benutzer momentan mit dem System arbeiten.

Gibt es eine Möglichkeit, einen meiner Services beim Start so aufzurufen, dass die Verbindung nicht mehr geschlossen wird? Die zweite Herausforderung wäre dann, am Service auslesen zu können, wie viele Verbindungen offen sind?

Habt ihr dazu eine Idee?

Vielen Dank!

A programmer is just a tool, which converts coffeine into code! 🙂

B
387 Beiträge seit 2005
vor 12 Jahren

Hallo Campy,

Direkt offene Verbindungen abzufragen geht - zumindest bei Http Bindings - nicht. Bei den anderen weiß ich es nicht genau, glaub aber eher, dass da WCF zustandslos arbeitet.

Du könntest so etwas über Alive-Aufrufe von den Clients realisieren. Heißt: Jeder Client sendet zyklisch eine Alive-Nachricht zum Server. Somit wissen beiden Seiten über den Zustand der Verbindungen bescheid. Kommt das Alive von einem Client nach einem bestimmten Timout nicht mehr, so weiß der Server, dass es diesen Client nicht mehr gibt.

Gruß
Roland

C
Campy Themenstarter:in
439 Beiträge seit 2008
vor 12 Jahren

Hallo Blacal,

in Bezugnahme auf deine Lösung werde ich das nun so umsetzen:

  • Jede Session bekommt eine GUID beim Start des Programms
  • Beim Überprüfen auf die max. Anzahl an gleichzeitigen Sessions werden zuerst alle alten Sessions gelöscht und dann findet die Überprüfung statt (Somit ist die Sessions Table auch gleich noch aufgeräumt).

Noch Verbesserungsvorschläge / Ideen?

A programmer is just a tool, which converts coffeine into code! 🙂