0

ユーザー セッションの有効期限が切れたとき、またはブラウザーを閉じたときに、asp.net でイベントを発生させたいと考えています。実際には、ログインユーザーがサイトを離れたときに、データベース内の何かを更新したいと考えています。

4

2 に答える 2

3

ここでセッション状態イベントのドキュメントを参照してください: http://msdn.microsoft.com/en-us/library/ms178583.aspx

于 2012-11-21T07:43:54.957 に答える
2

残念ながら、この質問は「コンピューターの電源を切った後にデータを保存したい」に非常に近いものです...非常に難しく、予測できません。

  • セッション終了イベントは、アウト プロセス セッションでは発生しません
  • ユーザーは、ブラウザを閉じたり、ログアウトしたり、マシンの電源を入れたりするだけで、サイトに通知する必要はありません
  • さらに悪いことに、広告を見たりサイトを積極的に見たりする代わりに、ブラウザを開いたまま飲み、眠りにつくだけです...
  • またはブラウザがクラッシュする可能性があります

ブラウザのアンロード イベントの処理を試みることができる場合もあります...応答を送信するのに十分な時間があるかもしれません。

おそらく最も信頼できる解決策は、ブラウザーからハートビート リクエストを取得し、この方法で (カ​​スタム データベース/ストレージで) ユーザーをアクティブとしてマークすることです。しばらくの間ハートビート要求を送信しなかったすべてのユーザーを定期的にチェックしてマークします...

于 2012-11-21T07:49:18.833 に答える