C# WCF服务将大型二进制文件发送到服务器

C# WCF服务将大型二进制文件发送到服务器,c#,wcf,C#,Wcf,我需要上传大(100兆最大)的二进制文件到服务器使用WCF。我遵循了以下指示: 它的工作成本低于5万英镑。超过这个数字,我得到415个错误。有什么想法吗?您的服务器上有最大POST大小限制吗?您可以尝试将maxReceivedMessageSize和maxBufferSize设置为int.max,并增加maxItemsInObjectGraph的值 在您的绑定配置上尝试以下操作: <binding name="MyWindowsAuthenticationBinding" closeTim

我需要上传大(100兆最大)的二进制文件到服务器使用WCF。我遵循了以下指示:


它的工作成本低于5万英镑。超过这个数字,我得到415个错误。有什么想法吗?

您的服务器上有最大POST大小限制吗?

您可以尝试将maxReceivedMessageSize和maxBufferSize设置为int.max,并增加maxItemsInObjectGraph的值


在您的绑定配置上尝试以下操作:

<binding name="MyWindowsAuthenticationBinding" closeTimeout="05:00:00" openTimeout="05:00:00" receiveTimeout="05:00:00" sendTimeout="05:00:00" maxBufferSize="2000000000" maxBufferPoolSize="2000000000" maxReceivedMessageSize="2000000000" messageEncoding="Mtom" transferMode="Streamed">
      <readerQuotas maxDepth="2000000000" maxStringContentLength="2000000000" maxArrayLength="2000000000" maxBytesPerRead="2000000000" maxNameTableCharCount="2000000000" />


我怀疑这与maxbuffersize有关,请尝试增加它们。难道不可能将流对象传递给服务来代替它吗?这更适合传递大文件。谢谢大家。这是绑定问题。谢谢你的帮助。是的,我现在正在使用流…有一个以评论的形式收集的建议,没有一个“正确”的答案。请在评论之前阅读所有内容…我将绑定上的最大值设置为一个很大的数字:这是同一件事还是我还必须设置其他最大值?我不确定IIS,但当我在Tomcat上运行web服务时,我遇到了问题因为服务器在HTTP POST请求中可以提交的最大数量。可能值得检查IIS的设置,以查看是否存在类似的设置。谷歌搜索IIS的最大帖子大小,似乎发现了很多东西。