2009-06-06 18 views

答えて

3
Session.Timeout=5 

は5分で、それがタイムアウトすることを意味します。これを無限に設定することはできないと思いますが、それをおおよその数に設定することができます。

+0

私が設定できる最大値は? – George2

+1

"許容される最小値は1分で、最大値は1440分です。" - http://msdn.microsoft.com/en-us/library/ms525473.aspx – Chris

2

Session.Timeout値を分単位で指定できます。 または、ページをn分ごとにポーリングするようにしてください(javascript関数ではそうするか、ダミーiframeにrefresh-contentを設定してダミーaspページをn分ごとに呼び出すことができます)。

セッションタイムアウトを非常に高い(または無限の...)値に設定すると、aspで終わるので、これはポーリングがサーバーに課金される可能性がありますが、頻繁にポーリングしない方が良いですメモリ不足のエラーでクラッシュします(アプリケーションプールが再起動されると思います)。

タイムアウトが切れる前にユーザーがアプリケーションのASPページを呼び出したとき、セッションは有効に保たれます。ユーザーがブラウザを閉じると、アプリに通知される方法はなく、aspはメモリをクリーンアップするためにタイムアウトを待たなければなりません。これは、セッションがユーザがなくなってからn分後にメモリに残り、タイムアウトがnであることを意味します。

無限セッション(ポーリングで対処できます)とタイムアウトパラメータを使用して調整すると、アプリケーションが壊れやすくなります。

長期間(基本的にはアプリケーションの全期間にわたって)情報を保存したい場合は、Applicationオブジェクトを使用することをお勧めします。これは、Sessionと同様の辞書ですが、シングルトンであり、サーバ上の誰でも。

+0

ありがとう@Yann! 1.あなたと確認したいアプリケーションオブジェクトはセッションオブジェクトとして期限切れにならない? 2.私はあなたが提案する最適な方法は、比較的短い時間を設定し、javascriptまたはコンテンツのリフレッシュ設定でページをリフレッシュすることだと思いますか?そして、セッションメモリがサーバー側でタイムリーに解放される理由は何ですか?私の理解は正しい?セッションのタイムアウト値を非常に高い(または無限の)値に設定すると、メモリ不足エラーでaspがクラッシュすることになります(アプリケーションプールが再起動されると思います)。 - サーバーのメモリにセッションを長く保持する長いタイムアウト値によって引き起こされる? – George2

+0

4. ASPクラシックセッションで期限切れの無限値を設定する方法はありません(私はASPクラシック言語を意味し、ランタイムはそれを直接サポートしていません)。 – George2

+0

アプリケーションがアプリケーションプールから脱落すると、アプリケーションプールから相対的にトラフィックが少なくなり、アプリケーションプールからデータがなくなり、アプリケーションオブジェクトのデータが失われた場合、アプリケーションはクリアされます。そこに何かを残したいのであれば、データベースや他のバックエンドストレージをそこに格納する必要があります – RobV

関連する問題