Hi
Mich würde intressieren es einen Event gibt der prüft ob sich eine Tabelle in der SQL Datenbank verändert hat ?
Ich möchte gerne einen simplen Chat gestallten und möchte nicht unnötig Resourcen verbrauchen indem ich ein Timer verwende.
Hallo Ayke,
ohne Ajax bzw. Atlas ist es in einer Web-Anwendung überhaupt nicht möglich events zu empfangen. Die Webseite ist nach wie vor HTML, das ist Statuslos und nach dem Laden einer Seite völlig abgeschlossen in der Kommunikation.
Events ohne Ajax/Atlas lassen sich dann nur noch über JavaScript-Timer / Pollen (Client) und SessionHandling (Server) nachbilden.
Grüße
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Ich kann doch im Codebehind z.b ein Thread erstellen der jede 8 sek eine SQL Abfrage macht und danach die Seite mit den Infos neu lädt. Nur wird der SQL Server dadurch stark belastet.
Hallo Ayke,
der Codebehind läuft auf dem Server, das ist richtig. Ein dort gestarteter Thread läuft ebenfalls auf dem Server.
Wie soll aber nun ein Ergebnis zum Client gelangen? Eine Webverbindung über HTTP geht IMMER vom Client aus. Normalerweise durch Klick oder Seitennavigierung.
Ajax und Atlas sind jetzt "Erfindungen", die über JavaScript einen Teil oder die komplette Seite nachladen, aber immer vom Client aus gehend. Eine Seitenaktualisierung funktioniert da auch immer nur durch Pollen.
Ein Server wird niemals nach seinem Ergebnis ein Event auslösen können, das beim Client landen kann (Aussage beruht nach wie vor auf HTTP).
und danach die Seite mit den Infos neu lädt. Der Server veranlasst hier ganz sicher kein Neuladen der Seite. Der Client pollt nach dem "Event".
Grüße
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Schau dir doch einfach mal folgende Beispiele an:
http://www.codeproject.com/KB/applications/SimpleChat.aspx
http://www.codeproject.com/KB/applications/AliAspNetChat.aspx
http://www.codeproject.com/KB/aspnet/simple_aspnet_chat.aspx
Aber warum willst du überhaupt auf AJAX verzichten?
@ norman_timo
Mit deinen einwand haste wohl recht
Ich weis was Ajax ist 🙂 nur hatte ich keine lust mich weiter damit auseinander zusetzen.
@ icedre
danke für die Links schau ich mir mal an
Ich erzeuge einen Iframe mit einer Src die ich jede 3 sek aktualisiere.
Im codebehind von der Iframe src mache Datenbank abfrage und fülle den Content mit dem Inhalt. Schon habe ich einen Chat. Mach mir aber immernoch über die Performance sorgen.
Also IFrame is ganz schlecht... Da solltest du besser drauf verzichten...
DIV Container wäre vllt. eine Alternative; die kanst du mit ID ansprechen, usw.