这对我来说一直是痛苦的根源!我正在ExecutionTimeout
为我的应用程序使用 110 秒的全局时间。一个特定页面会生成大量未处理的异常,因为它包含一个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
错误,我还没有弄清楚?