Quantcast
Channel: Pseudobroadcast Service
Viewing latest article 3
Browse Latest Browse All 3

Pseudobroadcast Service

$
0
0

Hi mal eine allgemeine Frage.

Ich möchte einen WCF-Service erstellen der in einem bestimmten zeitlichen Intervall Daten aus einer Datenbank liest, auswertet und das Ergebniss für n Clients bereitstellt.

Die Bedingung ist also den Datenbanktraffic gering zu halten.

Momentan ist es sehr "unschön" gelöst in dem der WCF-Service als Singleton

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)] 

ausgeführt wird. Die erste anfrage startet eine Void-Methode die in einer Endlosschleife die Daten alle x Sekunden aus der DB holt und in eine Klassenvariable stellt.

Die Clients rufen nun einen einfach eine Get-Methode auf welche als OperationContract "getarnt" ist. Dies bedeutet das ich 2 Zeitintervalle habe. Zum ersten den Intervall in dem ich die Daten aktualisiere (WCF-Seitig festgelegt) und den Intervall in dem ich die Daten hole (clientseitig festgelegt).

Jetzt endlich zu meiner Frage:

Ist es möglich von Singleton auf Per Session umzusteigen?

Momentan sehe ich da 2 (große) Probleme:

1. Wie verteile ich die Daten zwischen den Session? Mit InstanceContextSharing?

2. Wie starte ich die Methode die die Datenbankabrufe beinhaltet ohne an eine Session gebunden zu sein? Mit anderen Worten: Hört meine Datenaktuallisierung auf sobald die Session, die den Datenbankabruf gestartet hat, endet?



Viewing latest article 3
Browse Latest Browse All 3


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>