【问题标题】:ASP.NET File Upload, maxRequestLengthASP.NET 文件上传,maxRequestLength
【发布时间】:2012-02-15 19:28:07
【问题描述】:

我的 ASP.NET 应用程序正在 IIS6 上运行。今天,我们的一位客户在尝试上传 35MB 大小的文件后遇到了错误。

通常,我们的 web.config 中的 maxRequestLength 设置为 102400 (100MB),所以这个问题有问题。

在谷歌搜索时,我注意到 maxAllowedContentLength 属性,清楚地表明它可以在 IIS7 上运行(正如我上面写的,我的应用程序在 iis6 上运行)。

奇怪的是,现在当用户尝试上传文件时,会考虑 maxAllowedContentLength 值而不是 maxRequestLength。

使用 maxAllowedContentLength 解决了我的问题,但我对它的工作原理有点困惑。 (IIS版本差异) 知道这是如何工作的吗?

【问题讨论】:

  • 你确定这不是框架问题吗?
  • 嗯是吗?不知怎的,maxRequestLength 被绕过了。

标签: asp.net file-upload iis-7 iis-6


【解决方案1】:

这是一种奇怪的行为,正如您所说,如果您使用的是 IIS6,则要编辑的正确设置是 ma​​xRequestLength ,顺便说一句,这也存在于 machine.config 中。 此外,you're in debug mode 时会忽略 executionTimeOut(顺便说一下 ma​​xRequestLength)。

【讨论】:

  • 是的,起初当我处于调试模式时,一切似乎都很好。但后来我能够在现场查明问题。我唯一能想到的是,我们正在使用 Telerik 的 radUpload 组件,以前的开发人员在 中都分配了它的 httpHandler 和 httpModule
  • 现在我想起来了,编译调试在我们的应用程序中设置为 true。所以 executionTimeOut 和 maxRequestLength 都被忽略了。所以它应该采用 4MB 作为默认 maxRequestLength,但我很确定他们上传的文件在 10-20 MB 之间。现在事情变得更复杂了。
  • 还发现,默认 maxAllowedContentLength 是 28.6MB,它说,现在一切都清楚了。谢谢你提醒我编译模式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-06
  • 2011-05-14
  • 1970-01-01
  • 1970-01-01
  • 2012-10-19
  • 2011-06-11
相关资源
最近更新 更多