C# BizUnit web服务测试-设置MaxReceivedMessageSize
我正在使用biz unit测试BizTalk发布的一个wcf服务,并使用以下代码: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 =
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;
如果需要的话,您可以向类中添加一个属性以使其可配置-这将稍微复杂一些(但不是非常困难)
不要忘记重命名该类,并将名称空间更改为您的项目,以便您可以从自己的测试中访问它