2009-08-06 13 views
0

私は自分のasp.netアプリケーションで、現在セッション情報を検索してアプリケーションにログインしているユーザーを見つけようとしています。現在、私は現在のセッションしか見ることができませんが、他のユーザーがいるかどうかはわかりません。セッション情報を見てアプリケーションを使用している他のユーザーがいるかどうかを確認する方法はありますか?ASP.NETセッション

答えて

3

セッション状態はユーザーごとです。アプリケーション状態(グローバル)は探しているようです。 2つのハッシュセッションとアプリケーションがあり、キーと値のペアを格納できます。

ログインが成功すると、いつでもApplication[UserNamesList]を更新することができます。これはすべてのユーザーに表示されます。ただし、App Web Serverがリサイクルまたは再起動するたびにアプリケーション状態は失われますが、この場合は問題ではありません。

+1

@ Javier-アプリケーションオブジェクトを使用する場合は、アプリケーションオブジェクトをロックまたはロック解除することを忘れないでください。 – RichardOD

0

セッションは、現在ログインしているユーザーに関する情報のみを提供することになっています。

ログインしているすべてのユーザーを追跡する必要がある場合は、ユーザーをグローバル変数に書き込むことを検討できます。 Here is info on how that works。セッションは期限が切れることに注意してください。ユーザーごとに、最後にユーザーが見られた時間(つまり、新しいページにアクセスしてレコードを更新するたびに)を書き込む必要があります。最後に表示された時間がセッションのタイムアウトよりも大きい場合は、ログインしなくても、現在のユーザーのリストから削除することができます。彼らがブラウザを閉じてブラウザを閉じると、警告は表示されず、そうでないにもかかわらずログインしていると思われます。