これは私にとって多くの苦痛の源でした!ExecutionTimeout
アプリケーションに 110 秒のグローバルを使用しています。1 つの特定のページにコントロールが含まれているため、多数の未処理の例外が生成されますFileUpload
。
ここに問題があります...次の宣言を使用して、web.configでファイルサイズと実行タイムアウトを制限する方法を知っています。
<httpRuntime maxRequestLength="2097152" executionTimeout="600" />
私が抱えている問題はここにあります:
'Check file size
Dim fileSize As Integer
Try
fileSize = FileUpload1.FileBytes.Length
Catch ex As Exception
'Display message to user...
Exit Sub
End Try
ファイルの長さをチェックするプロセス自体が非常に頻繁に例外をスローし、その例外は上記try, catch
で適切にキャッチされず、global.asax でのアプリケーション レベルの例外処理に委ねられているようです。
maxRequestLength
クライアント側でファイルサイズを確認できないことは確かです。 andを増やし続けたくありません。executionTimeout
私が探しているのは、ページでこれらのタイムアウトをキャッチしてメッセージを表示することだけです。これは可能ですか?
編集 - -
ここでの問題をよりよく説明するために、次のコードを実行してみてください (デフォルトの executionTimeout が 110 秒であると仮定します)。
Try
system.threading.thread.sleep(120000)
Catch ex As Exception
response.write("Error caught!!")
Exit Sub
End Try
デバッグがオフになっていることを確認してください。catch ブロックが機能せず、未処理のSystem.Web.HttpException: Request timed out
エラーが発生します。これはまだ解決していません。