我想以编程方式在我的客户端中将MaxReceivedMessageSize属性设置为某个更高的限制(由于(400)错误请求错误).这是我正在使用的代码......
WCFServiceTestClient wcfClient =
new WCFServiceTestClient(new wsHttpBinding(), strServiceURL);
Run Code Online (Sandbox Code Playgroud)
我的服务网址是动态的,因此无法使用web.config.
//The following code doesn't seem to take effect
((WSHttpBinding)wcfClient.ChannelFactory.Endpoint.Binding)
.MaxReceivedMessageSize = 2147483647;
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Che*_*eso 23
您是否尝试重新排序调用,以便在实例化客户端之前设置MaxReceivedMessageSize?例如,
var binding = new wsHttpBinding();
binding.MaxReceivedMessageSize = Int32.MaxValue;
var wcfClient = new WCFServiceTestClient(binding, strServiceURL);
Run Code Online (Sandbox Code Playgroud)
但是,这可能会或可能不会帮助您解决400错误.
我在wcf服务中遇到了类似的问题,我用以下方法解决了这个问题:
CustomBinding binding = (CustomBinding)PDAServiceContractClient.CreateDefaultBinding();
HttpTransportBindingElement httpBindingElement = new HttpTransportBindingElement();
httpBindingElement.MaxBufferSize = Int32.MaxValue;
httpBindingElement.MaxReceivedMessageSize = Int32.MaxValue;
binding.Elements.Add(httpBindingElement);
string address = PDAServiceContractClient.EndpointAddress.Uri.ToString();
m_proxy = new PDAServiceContractClient(binding, new EndpointAddress(address));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25711 次 |
| 最近记录: |