WCF REST POST操作抛出413(实体太大)错误

时间:2012-01-11 21:35:20

标签: wcf iis rest

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

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

有什么想法吗?

4 个答案:

答案 0 :(得分:12)

嗯......我明白了!

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

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

答案 1 :(得分:2)

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

答案 2 :(得分:2)

我看似相同的问题,最后不得不为我的RESTful服务创建自定义绑定并增加maxReceivedMessageSize设置。

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

答案 3 :(得分:1)

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