BizUnit Web服务测试 - 设置MaxReceivedMessageSize

时间:2015-02-03 22:53:11

标签: c# wcf biztalk bizunit

我正在测试使用BizTalk与biz unit发布的其中一个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

1 个答案:

答案 0 :(得分:0)

默认情况下,框架似乎没有公开该属性,但您可以非常轻松地添加它。将WebServiceStep.cs中的代码复制到项目中,找到以下块:

var binding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
binding.UseDefaultWebProxy = true;      

如果您希望最大尺寸为10MB,则需要添加以下内容:

binding.MaxReceivedMessageSize = 10000000;

您可以向该类添加一个属性,以便在需要时对其进行配置 - 稍微复杂一些(但不是非常困难)。

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