C# BizUnit web服务测试-设置MaxReceivedMessageSize

C# BizUnit web服务测试-设置MaxReceivedMessageSize,c#,wcf,biztalk,bizunit,C#,Wcf,Biztalk,Bizunit,我正在使用biz unit测试BizTalk发布的一个wcf服务,并使用以下代码: WebServiceStep wsStep = new WebServiceStep(); wsStep.ServiceUrl = //service url; wsStep.FailOnError = true; wsStep.Action = //service method name; wsStep.RequestBody = new FileDataLoader() { FilePath =

我正在使用biz unit测试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

默认情况下框架似乎不公开该属性,但您可以很容易地将其添加进来。将WebServiceStep.cs中的代码复制到项目中,并找到以下块:

var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
binding.UseDefaultWebProxy = true;      
如果希望最大大小为10MB,则需要添加以下内容:

binding.MaxReceivedMessageSize = 10000000;
如果需要的话,您可以向类中添加一个属性以使其可配置-这将稍微复杂一些(但不是非常困难)

不要忘记重命名该类,并将名称空间更改为您的项目,以便您可以从自己的测试中访问它