C# 从应用程序而不是SoapUI调用批处理服务时MaxReceivedMessageSize错误

C# 从应用程序而不是SoapUI调用批处理服务时MaxReceivedMessageSize错误,c#,web-services,wsdl,soapui,maxreceivedmessagesize,C#,Web Services,Wsdl,Soapui,Maxreceivedmessagesize,我在向web服务发送请求时遇到了一个非常恼人的问题 请求消息的一个参数是Batch,它可以设置为Y或N。当我将其设置为N时,没有问题,并且我得到一个包含单个订单详细信息的响应 但是,当我将批处理设置为Y时,我看到以下错误: 其他信息:已超过传入邮件的最大邮件大小配额(65536)。要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性 为了解决这个问题,我尝试在调用服务之前设置MaxReceivedMessageSize: public Provider.GetMe

我在向web服务发送请求时遇到了一个非常恼人的问题

请求消息的一个参数是
Batch
,它可以设置为
Y
N
。当我将其设置为
N
时,没有问题,并且我得到一个包含单个订单详细信息的响应

但是,当我将批处理设置为Y时,我看到以下错误:

其他信息:已超过传入邮件的最大邮件大小配额(65536)。要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性

为了解决这个问题,我尝试在调用服务之前设置
MaxReceivedMessageSize

public Provider.GetMessageResponse GetOrders(bool acceptBatch)
{
    var httpBinding = new BasicHttpBinding();
    httpBinding.MaxReceivedMessageSize = 2097152;
    httpBinding.MaxBufferSize = 2097152;

    var request = BuildRequest(acceptBatch);
    var client = new Provider.PullServiceClient();
    var response = client.PullGetMessage(SecurityToken, request);
    return response;
}
但是,我仍然看到错误消息(尽管我可以看到
httpBinding.MaxReceivedMessageSize
在运行该代码后确实增加了),并且服务(不是由我托管)告诉我消息已被收集(这是有道理的,因为消息似乎只有在到达我的系统后才会被阻止)

此外,当我使用xml从
SoapUI
应用程序执行完全相同的请求时,我确实收到了一个没有任何问题的批处理响应,并且我可以看到所有可用订单的长列表


那么,这个
MaxReceivedMessageSize
属性是否只适用于我的应用程序,而不适用于整个系统?如果是这样,为什么上面的代码不能解决这个问题?

在查看了
Provider.PullServiceClient
的重载构造函数之后,我通过包含以下pa来解决这个问题参数:

var binding = new BasicHttpBinding() { MaxReceivedMessageSize = 2097152, MaxBufferSize = 2097152 };
var endpoint = new EndpointAddress("http://test.providerporal.co.za/testservice/pullservice.svc");

var client = new Provider.PullServiceClient(binding, endpoint);
因此,我猜这个限制与我的应用程序有关,但是
HttpBinding
需要绑定到请求本身。希望这对其他人有所帮助