我创建了一个 wcf 服务,它可以正常处理小数据。(我当前的 MaxReceivedMessageSize 是 10485760)。当我发送一些超过 10485760 的巨大数据(比如 x 字节)时,客户端正在低于错误。
已超出传入邮件 (10485760) 的最大邮件大小配额。要增加配额,请在适当的绑定元素上使用 MaxReceivedMessageSize 属性。
我知道这可以通过增加 MaxReceivedMessageSize 值来解决。但这里棘手的事情是,当我将 MaxReceivedMessageSize 保持为 10485760 并发送大小为 2x 字节的响应时,客户端在配置文件中指定的超时值时间后出现超时错误,而不是超过错误。
在服务器端调试提供以下错误
套接字连接被中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或者是潜在的网络资源问题造成的。
因为这个客户无法知道出了什么问题,也无法理解如何解决它。
我的问题是,在这两种情况下,我发送的数据都超过 MaxReceivedMessageSize 但错误是不同的。为什么?为什么客户端不能简单地收到“已超出最大消息大小配额”错误而不是关闭套接字?
我希望客户端接收错误并更正 MaxReceivedMessageSize 值,而不是套接字关闭和客户端超时
谢谢!