0

Die Client-Anwendung wird Anforderungen zur Überwachung von Ereignissen auf dem Server registrieren. Der Rückruf des Clients wird einem Wörterbuch hinzugefügt (und in regelmäßigen Abständen vom Client aktualisiert).Was ist der beste Ansatz zum Starten eines Hintergrundthreads als Teil eines pollingDuplex-Szenerio

Der Server überwacht eine private MSMQ-Warteschlange auf Ereignisse. Wenn ein Ereignis eintritt, für das ein Teilnehmer registriert ist, ruft der Server auf die Kunden).

Dies hängt davon ab, einen Hintergrund-Thread zu starten, der auf dem MSMQ warten und dann die registrierten Client-Anwendungen aufrufen kann. Was ist der beste Weg, um diesen Hintergrund-Thread zu starten? Mein erster Durchlauf war, es einfach im Application_Start-Ereignis der Datei global.asax zu starten. Dies hat eine Reihe von Fallstricken, wie in Chris Andersons Antwort auf this SO question diskutiert. Darüber hinaus ist dies die Fallstricke des Threads herum auf dem Entwickler-Rechner, nachdem sie aufhören, die App zu debuggen.

Vielleicht ist ein ganz anderer Ansatz gerechtfertigt, solche Vorschläge sind auch willkommen.

Antwort

1

Warum starten Sie nicht den Hintergrund-Thread, wenn der erste Client registriert wird, und signalisieren Sie, dass er aufhört, wenn der letzte Client die Registrierung aufhebt oder abbricht?

+0

Ich mag diese Idee ein bisschen. Vielen Dank! –