【问题标题】:Connection Reset due to large file upload but configs should permit upload由于大文件上传导致连接重置,但配置应允许上传
【发布时间】:2012-05-31 06:40:05
【问题描述】:

尝试在我的 MVC 项目中上传大于 4 兆的文件时出错。上传适用于较小的文件。网上看了一下,看到应该加

<httpRuntime maxRequestLength="200000" executionTimeout="240"/>

到我的网络配置,在系统网络中,但这没有效果。连接仍在重置。还有其他我可能错过的需要更改的配置吗?该文件为 10 兆,因此请求长度足够大。

请求没有超时,连接立即重置。

我也试过添加

<security >
  <requestFiltering>
    <requestLimits maxAllowedContentLength="1024000000" />
  </requestFiltering>
</security>`

到我的网络配置中的网络服务器部分,但这也没有效果。 Web 配置是位于正确项目中的配置,并且连接永远不会到达位于我的控制器中的断点,这让我相信这一定是一个配置问题,其中包含太大文件的 http 请求被拒绝。如果是这样,为什么 maxrequestlength 属性不能解决问题?

【问题讨论】:

  • 可能是您的会话\浏览器超时?您使用哪个库上传?检查stackoverflow.com/a/230916/643500
  • 我正在使用``上传我读过这个问题......它说添加httpruntime属性完全一样我做到了,这就是我感到困惑的原因。同样,问题不是超时。连接重置会立即发生,而不是在 10 秒超时或类似情况之后发生。
  • 是您的 httpRuntime 被 System.Web 包围,例如

标签: asp.net-mvc file-upload connection-reset


【解决方案1】:

只是 IIS 7.x 的更新

您需要为较新版本的 IIS 添加以下内容:

<security>
    <requestFiltering>
          <requestLimits maxUrl="32767" maxQueryString="32767" 
            maxAllowedContentLength="2147483648"/>
    </requestFiltering>
</security>

【讨论】:

    【解决方案2】:

    :/.发现了问题。我一直在将 maxRequestLength 添加到错误的网络配置中。视图中有一个 webconfig 文件,整个项目中有一个。我把它放在视图中。甚至不知道有 2 个,还有几个人也错过了。将两个名称相同且用途相似的文件放入项目中的糟糕设计,仅由一层文件深度分隔。

    【讨论】:

      【解决方案3】:

      IIS 10x 更新,将以下内容添加到站点的 web.config:

        <requestFiltering>
          <requestLimits maxAllowedContentLength="500000000"></requestLimits>
        </requestFiltering>
      

      问题立即解决。按照这里的步骤找到这个:http://d4dotnet.blogspot.com/2011/11/there-was-no-endpoint-listening-at.html

      第 1 步和第 3 步会导致服务器故障,直到被删除,可能它们要么特定于 IIS 6 和 7,要么属于另一个配置文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-02
        • 2011-12-29
        • 2013-10-02
        • 2011-04-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-20
        相关资源
        最近更新 更多