使用unity创建一个WCF客户端实例
本文关键字:一个 WCF 客户端 实例 unity 创建 使用 | 更新日期: 2023-09-27 18:12:40
所以目前我正在使用以下代码创建一个wcf客户端实例:
Service1Client client = (Service1Client)_container.Resolve<IService1>(new ParameterOverride("remoteAddress", url),
new ParameterOverride("endpointConfigurationName", "basicEndpoint"));
然而,当我创建单元测试时,这不起作用,因为我将对象转换为Service1Client,所以我的单元测试爆炸,因为它不能转换Mock对象:
//Mock the WCF service
var wcfMock = new Mock<IService1>();
//register with container!
var container = new UnityContainer();
container.RegisterInstance(wcfMock.Object);
对于如何最好地解决这个问题有什么想法吗?
您声称要转换到Service1Client
,因此您可以访问System.ServiceModel.ClientBase
的Open()
, Abort()
和Close()
方法。
这些方法是在System.ServiceModel.ICommunicationObject
中定义的,所以让你的接口IService1
继承它:
public interface IService1 : ICommunicationObject
{
}