如何以编程方式跟踪服务器超时?

时间:2011-01-31 19:17:01

标签: asp.net-mvc-2 error-handling connection-timeout

我们有一个页面可以使用普通<input type="file"接受视频文件上传。我们有用户(在这种情况下是学生)抱怨它不工作但没有提供任何类型的错误消息或任何东西。如果确实存在问题,我相信尝试在错误连接上上传大文件会出现超时错误。无论如何要跟踪这个以找出他们想要做什么以及问题是什么?

1 个答案:

答案 0 :(得分:1)

也许他们正在尝试上传大于允许的最大文件大小或请求超时的文件,这些文件可以由web.config中的以下部分控制:

<system.web>
    <httpRuntime executionTimeout="110" maxRequestLength="20000" />
</system.web>

服务器的EventLog也可能包含一些错误,可以为您提供更多线索。

另一个有用的事情是订阅Application_Error中的Global.asax事件,并尝试跟踪可能发生的所有未处理的异常:

protected void Application_Error(object sender, EventArgs e)
{
    HttpApplication app = (HttpApplication)sender;
    HttpContext context = app.Context;
    Exception ex = context.Server.GetLastError();
    // TODO : use your favourite logging framework to trace the exception
    // so that you can later see what went wrong. At least you should get
    // the exception stacktrace.
}