如何将大型邮件发送到WCF服务?

时间:2011-09-13 13:25:33

标签: message-passing wcf

我在WCF服务中有一个DataContract。它有一个Array,我在客户端代码中设置该数组。如果我将数组设置为超过1000万,则会抛出错误说BadRequest。  System.ServiceModel.ProtocolException:远程服务器返回意外响应(400)错误请求。

如何克服这个?我想向服务发送更多数据。

1 个答案:

答案 0 :(得分:1)

您可以尝试增加邮件允许的大小。您需要将服务和客户端端点都设置为使用绑定配置。

    <bindings>
        <netTcpBinding>
            <binding name="TcpBindingConfiguration" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
                <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
            </binding>
        </netTcpBinding>
    </bindings>

如果您尝试发送的数据不符合上述配置允许的消息大小,则需要研究发送较少数据或在多个请求中执行此操作的方法。

您可以查看this question了解相关信息。