Laden...

ASP.NET Automatische Benachrichtigung

Erstellt von ChrisBa vor 10 Jahren Letzter Beitrag vor 10 Jahren 2.113 Views
C
ChrisBa Themenstarter:in
54 Beiträge seit 2011
vor 10 Jahren
ASP.NET Automatische Benachrichtigung

Hallo,
ich habe ein ASP.NET Projekt bei dem man interne Nachrichten versenden kann.
Ist nix anderes dass meine über ein Formular einen neuen Eintrag in die Datenbank (MS SQL 2008R2)
speichert. Man gibt im Formular den Empfänger (UserID) an.

Der Empfänger erhält auch die Nachricht (geschieht in der MasterPage). Dabei wird eine Benachrichtigung aufgepopt.
Allerdings popt die Nachricht nur auf wenn der Empfänger einen Event (z.B Button Click Event) auslöst.

Jetzt meine Frage bzw. mein Problem:
Gibt es eine Möglichkeit, dass einem User die Nachrichten-Benachrichtigung aufpopt oder angezeigt wird ohne dass ein Event ausgelöst wird, also wenn die Maus und Tastatur ruhig bleibt.

Habs auch schon mit dem Timer versucht (innerhalb der MasterPage). Dabei wird aber bei jedem Interwall die ContentPage aktualisiert.
Selbst Google hilft mir nach zwei Tagen nicht mehr weiter.

Hat jemand Tipps für mich wie das zu lösen ist?

Das Schicksal bevorzugt jene die bereit sind.

16.842 Beiträge seit 2008
vor 10 Jahren

WebSockets oder SignalR (zweiteres unterstützt durch Fallbacks die meisten Browser).

Nur als Hinweis am Rande: WebForms (das Du nutzt) ist nicht unbedingt soooo geeignet für RIA 2.0 Anwendungen. Viel Javascript könnte mit Deinem ViewState und Co kollidieren und Seiteneffekte auslösen.

C
ChrisBa Themenstarter:in
54 Beiträge seit 2011
vor 10 Jahren

Hallo Abt. Danke für deine Antwort.

Ich benutze noch VisualStudio 2010 und werde deshalb erst mal alles für SignalR anhand dieser Anleitung einrichten.

Dananch werde ich mich daran versuchen.

MFG

Das Schicksal bevorzugt jene die bereit sind.

16.842 Beiträge seit 2008
vor 10 Jahren

Viel einrichten musst da nicht.
SignalR downloaden, Hub definieren -> 90% fertig.

Halt Dich am besten an das Tutorial ASP.NET SignalR Hubs API Guide - Server (C#)

Wenn Du das dann mal fertig hast, dann bietet sich an einen Scheduler in den Hub zu integrieren, der dann die Nachrichten raus puscht. So hast Du eine gute Basis für eine Skalierung und die Last hagelt Dir nicht die Anwendung kaputt (falls sie mal groß (mehrer Tausend Anwender) werden sollte).

Hierfür wird dann (auf das Beispiel bezogen) ein Producer-Consumer-Pattern in den "StockTicker" integriert, der dann die Nachrichten über "n"-Tasks über den "StockTickerHub" raus pusht.
Die Anwendung kommuniziert hierbei nur mit der Klasse StockTicker über Methoden wie "AddMessageToQueue". StockTicker pusht dann die Nachricht über "PushMessageToClient(s)" von StockTickerHub.

C
ChrisBa Themenstarter:in
54 Beiträge seit 2011
vor 10 Jahren

Danke dir.
Hört sich spannend an 😉

Ich werds testen.
Danke nochmal.

Das Schicksal bevorzugt jene die bereit sind.