2

現在のすべてのサイト ユーザーの Session オブジェクトにアクセスし、セッション情報を読み取り、それらに変更を加えるコード内のメソッドはありますか?

私が使用している Web アプリケーションでは、管理者ユーザーが 1 人以上のユーザーに影響する変更を行います。ただし、各ユーザーはログイン時にその情報をセッションにキャッシュします。そのため、セッション データを直接更新するか、影響を受けるユーザーにデータベースからデータを再ロードするよう通知する方法が必要です。

リクエストごとにその情報をデータベースにヒットさせたくないので、理想的には必要なときにのみ発生する必要があります。他のユーザーのセッション コレクションにアクセスできない場合、イベントが発生したことを特定のユーザーに直接通知する ASP.NET の他の (データベース以外の) メソッドはありますか?


(それを書いた後、考えられる方法の1つを考えてみました..キャッシュされたデータを更新する必要があるすべてのユーザーIDのリストを保持するアプリケーション変数を使用します.各ユーザーがそうすると、リストからIDを削除します..それが1つですアプローチ..他にはありますか?)

4

1 に答える 1

2

あなたがこれを行うことができるとは知りませんでしたが、グーグルで調べたところ、この記事に記載されているように可能であるようです:

http://weblogs.asp.net/imranbaloch/archive/2010/04/05/reading-all-users-session.aspx

このスタック オーバーフローの質問からリンクを見つけました: List all active ASP.NET Sessions

リストを取得したら、コードでリストを編集することもできると思います...しかし、それにはさらに調査と試行錯誤が必要になるかもしれません...

于 2013-11-07T06:26:44.460 に答える