IChannelFactory< TChannel>以及web.config中的端点配置

本文关键字:端点 配置 config web TChannel 以及 IChannelFactory | 更新日期: 2023-09-27 17:50:37

我有一个WCF Ria服务,它调用了几个WCF服务(非Ria)。我正在使用ChannelFactory来创建通道,但问题是我想为这个Ria服务编写单元测试,而ChannelFactory是一个类,而不是接口,所以我不能模拟它。理想的解决方案是声明IChannelFactory并使用依赖注入,但是这里有一个问题。

ChannelFactory有一个重载的CreateChannel,它采用web/app中定义的端点配置名称。配置文件。我正在使用该方法,这样我就不必硬编码端点参数或创建额外的ConfigurationProperties来重新发明轮子。IChannelFactory没有这个成员,所以即使我将ChannelFactory注入到我的服务中,我也无法创建从配置文件配置的通道。所以我的问题是,如何解决这个问题?我的意思是如何创建一个通道,并配置它从配置文件使用IChannelFactory合同没有反射/动态?

IChannelFactory< TChannel>以及web.config中的端点配置

我通过创建我自己的IChannelFactory找到了一个解决方案。它的一个实现依赖于ChannelFactory,另一个是模拟的:)