我正在使用biz单元测试一个使用BizTalk发布的wcf服务,并使用以下代码。
WebServiceStep wsStep = new WebServiceStep();
wsStep.ServiceUrl = //service url;
wsStep.FailOnError = true;
wsStep.Action = //service method name;
wsStep.RequestBody = new FileDataLoader() { FilePath = "request.xml");
testCase.ExecutionSteps.Add(wsStep);给定的方法通常会返回超过传入消息的最大消息大小配额(65536)的大量数据,问题是如何在上面的测试代码中设置MaxReceivedMessageSize?
发布于 2015-02-05 00:39:40
默认情况下,框架似乎不会公开该属性,但您可以很容易地将其添加进来。将代码从WebServiceStep.cs复制到您的项目中,并找到以下块:
var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
binding.UseDefaultWebProxy = true; 如果您希望最大大小为10MB,则需要添加如下内容:
binding.MaxReceivedMessageSize = 10000000;如果需要,您可以向类添加一个属性以使其可配置-这会稍微复杂一些(但并不是非常困难)。
不要忘记重命名类并将命名空间更改为您的项目,以便您可以从自己的测试中访问它。
https://stackoverflow.com/questions/28310325
复制相似问题