0

私は現在、新しい個人プロジェクトを開始しています。Web ページにログインするユーザーを追跡するデータベースがあります。ログオン時とログオフ時に表示されます。SQL Server 2008 を使用しています。

私がやりたいことは、ユーザーがログインするたびに、Web ページの上部にあるスクロール バーがこれを警告することです。多くのウェブサイト統計を追跡するダッシュボードを作成しましたが、これは本当に素晴らしいと思います。最終的には役に立たない-しかし、それは私から時々「へへ」を生成するので、なぜですか?

現在、私はこのようなものを構築しようとしたことは一度もありません (それが私が構築している理由です!) ので、いくつかの異なる設計アプローチの間で引き裂かれています。http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldependency.aspxを使用してデータベース サーバーを繰り返しポーリングし、現在ログインしているユーザーのセットを検索するクエリを作成できるようです。そのプールへの追加を表示します。これが正しい方法である場合は、これをどのように使用できるかについて、さらに詳細な解説をいただければ幸いです。

高レベルの観点からは、データベースを繰り返しポーリングするよりも、変更があったときに DB がメッセージを Web サーバーにプッシュする方が効率的であるように思われます。これは可能でしょうか?もしそうなら、どのように?

議論のために、またこの議論をもう少し具体的にするために、SQL Server テーブルが次のように構成されていると仮定しましょう (ただし、必要に応じて改善や変更を自由に行ってください!)。

Users {
ID Primary Key
Username(Varchar 100)
Password
}

LogInOrOutLogs {
SessionID Primary Key
UserID (Foreign Key)
TimeLoggedIn (DateTime)
TimeLoggedOut (DateTime)
CurrentlyLoggedIn(Bool)
}

すべてのテクノロジー、すべてのデータベース構造、すべての設計アイデアを受け入れます。夢中になる!要件のみ: ログインおよびログアウトすると更新されるユーザーの DB があります。Web サーバー上の情報を、できる限り意味のある、エレガントでシンプルな表示にします。

この問題に対する人々の解決策を読むのを楽しみにしています。

4

1 に答える 1