2009-02-14 13 views

Antwort

6

Im Allgemeinen fragen Sie "Wie man weiß, wer in den letzten x Minuten aktiv war."

Notieren Sie ihre letzte Aktivitätszeit bei jedem Seiteneintrag und fragen Sie dann diese Liste ab, um zu sehen, wer in den letzten paar Minuten aktiv war. Sie können dies erweitern und die zuletzt besuchte Seite aufzeichnen, um zu erfahren, wie viele Personen online sind und wie viele Personen sich auf einer bestimmten Seite befinden.

Sie können dies tun, indem Sie nur einige Felder zu Ihrer Benutzer-Tabelle in der Datenbank hinzufügen. Eine für die lastActivityTime und eine für lastVisitedLocation.

1

können Sie Datenbank-Sitzungen verwenden und dann verwenden Spur in Nutzer angemeldet zu bleiben, sobald Sie mit Datenbanksitzungen Tracking starten einfach wird,

keine der Benutzer Online nur der Datensätze in der Tabelle zählen werden

und da Sie Datensätze für jeden angemeldeten Benutzer in der Sitzungstabelle haben, können Sie die Namen der angemeldeten Benutzer abrufen.

2

Das Hauptproblem, das Sie mit eingeloggten Benutzern haben, ist, dass es keine garantierte Möglichkeit gibt, sicherzustellen, dass die Nummer korrekt ist, wenn jemand ihren Browser schließt oder tötet, oder Macht verliert, die einzige Möglichkeit, sie zu kennen sind nicht eingeloggt, wenn ihre Session abläuft, also standardmäßig 20 Minuten ... ich bin nicht wirklich auf die Idee, diese Informationen in einer Datenbank zu behalten, obwohl es gültig ist, bleibt das gleiche Problem bestehen Sie können genau zeigen, ist die Anzahl der Sitzungen asp.net denkt aktiv sind nicht unbedingt die Anzahl der Benutzer, die immer noch Ihre Website verwenden Jonathans Antwort ist der beste Kompromiss, da es ein Zeitpunkt statt einer garantierten Zahl ist.