【发布时间】:2018-08-02 02:26:53
【问题描述】:
我有一个具有以下结构的解决方案:
- 域 (.NET 4.6.1)
- DAL (.NET 4.6.1)
- BLL (.NET Core 2.0)
- API (.NET Core 2.0)
我需要将数据提交到外部 WCF 服务。我个人对 WCF 没有太多经验,因为我一直在使用 REST API。因此,为了尝试使用 WCF 服务,我在其中设置了一个 .NET 核心控制台应用程序,并为其添加了一个连接的服务引用。这导致生成了具有以下类的Reference.cs:
- IWebService
- IWebServiceChannel
- 发送响应
- 获取响应
- WebServiceClient(实现 IWebService)
我正在考虑在 BLL 层创建一个 SubmissionService 类来向 WCF 服务提交数据,因此我将 IWebService 从控制台应用程序移动到 BLL 层以注入到类中并执行单元测试。 IWebService 上定义的属性需要对 System.ServiceModel 的引用,它带有很多包袱,在我的 BLL 层中引用它没有意义。
我不确定将 WCF 客户端放在我的项目结构中的哪个位置。我一直在调查这个问题,我能想到的唯一可行的解决方案是纯粹为 WCF 客户端创建一个类库项目,并在我的 BLL 层中引用它以访问 IWebService 并模拟它以进行测试。有没有人遇到过同样的情况?非常感谢任何帮助。
【问题讨论】:
标签: c# unit-testing wcf dependency-injection .net-core