Ich erstelle eine sehr einfache Chat-Anwendung. Es hat eine ASP.NET-Webseite als Front-End und einen WCF-Dienst als Back-End zum Speichern der Nachrichten in einer Datenbank.Kontinuierliche Aktualisierung von Chat-Nachrichten
Alles funktioniert gut außer einer Sache; Wenn Browser A eine Chat-Nachricht eingibt, möchte ich, dass Browser B die Nachricht so bald wie möglich sieht (ja, ich weiß, das ist der Zweck eines Chats).
Was ich bisher getan habe, ist ein Trigger-Setup innerhalb der Update, wie folgt aus:
<Triggers>
<asp:AsyncPostBackTrigger ControlID="chatTimer" EventName="Tick" />
</Triggers>
, die einen Timer verwendet:
<asp:Timer ID="chatTimer" runat="server" OnTick="chatTimer_Tick" Interval="1000" />
Ist dies der beste Ansatz, oder gibt es ein besserer und doch einfacher Weg, um Nachrichten zu aktualisieren. Ein Nachteil dieser Lösung besteht darin, dass das Textfeld, das zum Eingeben von Chatnachrichten verwendet wird, jedes Mal, wenn das Tick-Ereignis ausgeführt wird, den Fokus verliert.
Jede Rückmeldung oder Beratung bezüglich der Aktualisierung von Nachrichten ist willkommen.
Vielen Dank!
Haben Sie darüber nachgedacht, dies in Silverlight zu tun? Sie können möglicherweise Sockets verwenden, um Updates an Clients zu senden, anstatt Updates jede Sekunde auszuführen. – Juliet
Im Moment, nein, habe ich nicht. Zur gleichen Zeit klingt Ihr Vorschlag wirklich nett. Das ist genau das, was ich gerne machen würde. – Daniel