我已经创建了一个WCF服务来上传图片。它适用于图像< 50KB左右,但我得到“远程服务器返回错误:(400)错误请求。”图像较大。 我一直在寻找年龄并尝试了很多不同的东西,包括设置maxRequestLength和其他几个设置。
在客户端的事情上,web.config将其作为basicHttpBinding进行选择,并且我正在使用wsHttpBinding(用于更新的功能集)。如果我手动将绑定类型更改为wsHttpBinding并更改相应的选项,则会出现“不支持的媒体类型”错误。 在WCF测试客户端中查看它也将服务显示为basicHttpBinding。
所以我的问题确实是双重的。
道歉,如果有问题回答这些问题 - 我已经搜索了stackoverflow并尝试了一些建议,但有可能我错过了它!
编辑:一如既往,我已经设法通过摆弄服务web.config并手动将端点更改为wsHttpBinding来解决wsHttpBinding问题。仍然会收到大型上传文件大小问题。答案 0 :(得分:2)
您需要在web.config
中更新绑定e.g。这就是我在我的wcf宁静服务中所做的。我相信你的情况也会非常相似
<bindings>
<webHttpBinding>
<!-- buffer: 64KB; max size: 64MB -->
<binding name="StreamedBinding" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" transferMode="Streamed"
maxBufferPoolSize="67108864" maxBufferSize="65536" maxReceivedMessageSize="67108864">
</binding>
</webHttpBinding>
</bindings>
<service name="WCFRestFul.ApiRestful">
<endpoint address="" binding="webHttpBinding"
bindingConfiguration="StreamedBinding" bindingName="StreamedBinding"
contract="WCFRestFul.IApiRestful" behaviorConfiguration="web" />
</service>