【问题标题】:WCF REST POST operation throwing 413 (Entity Too Large) errorWCF REST POST 操作抛出 413(实体太大)错误
【发布时间】:2012-01-11 21:35:20
【问题描述】:

我使用内置项目模板创建了一个基于 WCF REST 的服务。一切都很好,除了当我尝试将文件(作为流)“发布”到我的一个操作时,我一直收到 413(实体太大)响应。

我查看了与 WCF 相关的所有其他 413 个问题,它们都与非 RE​​ST 服务和/或 IIS6 配置相关,并提及 <system.Web><binding>properties。

有什么想法吗?

【问题讨论】:

  • 您能否发布一下您的 REST 服务是如何配置的。还要确保将 httpRunTime 元素设置为具有 maxRequestLength 属性

标签: wcf iis rest


【解决方案1】:

嗯...我想通了!

事实证明,有效的设置必须应用于 system.serviceModel 节点内的 standardEndpoint 节点:

<system.serviceModel>
    <standardEndpoints>
        <webHttpEndpoint>
            <standardEndpoint name=""
                 helpEnabled="true"
                 automaticFormatSelectionEnabled="true"
                 maxReceivedMessageSize="2147000000"
                 />
        </webHttpEndpoint>
    </standardEndpoints>
</system.serviceModel>

【讨论】:

  • 如果此解决方案对您不起作用,请注意 节点名称。您的服务可能正在使用类似的节点 。这件作品很容易被忽视。
【解决方案2】:

检查配置文件maxmessagesize等中的配额和最大值。默认为8192、16384、65536

【讨论】:

    【解决方案3】:

    我似乎遇到了同样的问题,最终不得不为我的 RESTful 服务创建自定义绑定并增加 maxReceivedMessageSize 设置。

      <webHttpBinding>
        <binding name="RESTfulServiceBinding" maxReceivedMessageSize="50000000" />
      </webHttpBinding>
    

    【讨论】:

      【解决方案4】:

      我会检查 IIS 中设置的最大上传大小。过去,当我尝试发布文件时,这一直是个问题。对于实际需要处理文件上传的任何应用程序,它通常设置得太小。

      【讨论】:

        猜你喜欢
        • 2014-01-06
        • 2012-11-14
        • 2015-05-03
        • 2015-10-18
        • 1970-01-01
        • 2016-09-08
        • 2020-02-05
        • 1970-01-01
        • 2011-02-22
        相关资源
        最近更新 更多