我使用内置项目模板创建了一个基于WCF REST的服务。一切都很有效,除了当我尝试将一个文件(作为流)“POST”到我的一个操作时,我总是得到一个413(实体太大)的响应。
我查看了与WCF相关的所有其他413个问题,它们都与非REST服务和/或IIS6配置相关,并提及<system.Web>
或<binding>
属性。< / p>
有什么想法吗?
答案 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中设置的最大上传大小。在过去,当我尝试发布文件时,这就是问题所在。对于任何实际需要处理文件上传的应用程序,它通常设置得太小。