0

asp.netメンバーシップが実装されていないasp.net3.5アプリケーションに取り組んでいます。ユーザーがアプリケーションにログインする場合、ユーザーがログインしている場合はtrueに設定され、ユーザーが手動でログアウトした場合、またはユーザーが5分以上アイドル状態の場合はfalseに設定されるフラグをusersテーブルに保持しています。 。このフラグの値がtrueの場合、他のユーザーは同じユーザー名を使用してアプリケーションにログインできません。

Global.asaxファイルのイベントを使用しSession_Endています。ユーザーが5分以上アイドル状態の場合、フラグ値をfalseに設定しますが、問題は、ユーザーが5分以上アイドル状態の場合、フラグ値がfalseに更新されない場合があることです。これは、Session_Endの信頼性が低いことを示しています。

Session_End誰かが私に上記のシナリオの代替案を提案してください。

4

2 に答える 2

1

タイムスパンメカニズムを使用します。サーバー上のすべてのユーザーアクションのタイムスパンを更新します。タイムスパンが5分を超えると、彼がいなくなったことがわかります。

于 2013-03-25T14:19:56.860 に答える
0

セッションタイムアウトを使用して、セッションを強制的に終了することをお勧めします。詳細については、こちらをご覧ください-http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.timeout%28v=vs.110%29.aspx

タイムアウト値を設定しましたか?

于 2013-03-25T14:21:43.700 に答える