【问题标题】:How can you know that current request exceeds maxRequestLength in ASP.Net?你怎么知道当前请求超过了 ASP.Net 中的 maxRequestLength?
【发布时间】:2010-12-02 21:48:20
【问题描述】:

我正在使用 VS2008 和 C# 3.0 在 ASP.Net(框架版本 3.5)中开发一个小型 Web 应用程序。有一个文件上传,我想确保整个请求不超过 5 MB。

我配置了 web.config 文件,并且 maxRequestLength 设置正确。

我正在覆盖页面的 OnError 方法。

但是,在调查异常时,除了实际标识“超出最大请求长度”错误的字符串文字和错误代码之外,我没有看到任何其他内容。我只有错误代码(实际的HResult)和堆栈跟踪。还讨论了here

这有点问题,因为框架的实现可能在不同于我的操作系统上有所不同:我的开发机器是 Windows Server 2008,目标机器可能是 Windows 2000/2003/2008 Server。

换句话说,是否有一种可移植的方法来将当前错误确定为“超出最大请求长度”?

【问题讨论】:

    标签: asp.net web-config maxrequestlength


    【解决方案1】:

    我认为您将不得不求助于带有 JavaScript 的客户端解决方案或使用 Flash/Silverlight 上传控件,这也可以检查文件/文件客户端的大小。

    因为当您使用内置的 ASP.NET 进行检查时,很难捕捉到这个特定的异常。但是,您可以在发生错误时显示友好的错误页面。

    http://www.codeplex.com/SLFileUpload

    【讨论】:

    • 这是最接近的答案(因此被接受)。实际上,虽然是 web.config 的设置,但引发异常的是 IIS。这就是为什么我们必须使用错误代码常量等。不过,这非常令人困惑。
    猜你喜欢
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 2013-03-17
    • 1970-01-01
    相关资源
    最近更新 更多