Session.TimeoutとServer.ScriptTimeoutの違いは何ですか?
質問
ページの読み込み中に時々タイムアウトするASP.net Webアプリがあります(通常、これらはすべて、処理を伴うバグのアップロード/ダウンロードを行う管理タイプのページです)。
解決策の1つは、Session.TimeoutとServer.ScriptTimeoutの両方を非常に大きな数に上げることでした-これは正常に動作します。ただし、各設定がいつ適用されるかについては、ここでかなりの議論があります。控えめに言うと、MSDNページは解釈に対してオープンです。
だれでも違いが何であるかの読者のダイジェスト版を教えてもらえますか、それとも見つからなかったMSDNページを教えてくれますか?
ありがとう、すべて。
(II6の.net 2.0、問題がある場合)
追加の質問として、たとえば、特定のページのon_load()関数でこれらの設定を変更すると、アプリ全体またはそのページだけで変更されますか?
編集:おっと!私は「Session.Timeout」を意味しました; " Server.Timeout。"ではありません
解決
ScriptTimeoutは、ASP.NETランタイムがASPXページからの結果の待機に費やす秒数です。
Session.Timeoutは、ASP.NETが YOU で待機する時間です。
他のヒント
スクリプトタイムアウトは、リクエストを処理するためにコードを実行できる時間を制御するものです。そのため、実行時間の長いコードを許可するように変更します。 IISマネージャーの設定はすべての要求に使用され、Server.ScriptTimeoutプロパティは現在の要求に使用されるため、可能であれば、すべての通常のページが通常のスクリプトタイムアウトを使用するようにコードで設定する必要があります。
セッションタイムアウトは、ユーザーが最後にリクエストを行った後、サーバー上のセッションオブジェクトが存続する時間です。 IISマネージャーのセッションタイムアウト設定は、作成される新しいセッションのデフォルト設定であり、コードからアクセスするSession.Timeoutプロパティは、その特定のセッションのタイムアウトです。デフォルトのセッションタイムアウトは20分であり、大きなリスクなしで少し上げることができますが、メモリ内に何日も固執するセッションオブジェクトがないように、妥当な値内に維持する必要があります。