WCF错误:System.ServiceModel.CommunicationException传入消息的最大消息大小配

本文关键字:消息 错误 System ServiceModel CommunicationException WCF | 更新日期: 2023-09-27 17:50:17

我们看到这个错误与http文件传输请求有关

WCF错误,System.ServiceModel.CommunicationException传入消息的最大消息大小配额已超过。

我看过几个与此消息相关的帖子,一般的反应是把它调到最大。

如果您想强制限制文件传输大小该怎么办?我们希望允许用户只传输60MB(62914560)及更小的文件。

哪个设置应该设置为62914560?maxStringContentLength还是maxArrayLength ?

请求周围的信封有开销吗?换句话说,允许的最大下载文件大小是否为60MB?还是更小,文件大小+请求开销<= 60MB?

如果是后者,可以确定吗?开销是固定的吗?或者开销是其他设置的函数(如maxBytesPerRead)?

SSL是否影响文件(总体消息)大小?多少钱?

我想弄明白它到底是怎么工作的。改变大小似乎很随意。我如何知道允许下载只有60MB或更小的文件的正确设置值是多少?我看到的一件事是,53776931字节的zip文件会抛出异常。在下载之前,我检查了文件的大小,显然小于60MB。是什么原因导致消息超过最大消息大小?

WCF错误:System.ServiceModel.CommunicationException传入消息的最大消息大小配

您需要在客户端和服务器配置中指定readersQuota

你应该启用日志记录,看看你的消息到底有多大——当我遇到类似的问题记录WCF消息大小时,这是我唯一能解决的方法

不要试图将maxmessagesize调到最大值,如果它真的试图返回那么大的消息,它会耗尽应用程序的内存。