我有一些通过 WCF 服务公开的域逻辑。我没有在我的 MVC Web 应用程序中显式编写 WCF 代理调用等,而是将 WCF 服务引用打包到他们自己的项目中 - MyProject.BizLogic.Endpoint - 然后将对该项目的引用添加到我的 Web 应用程序中。
这对于保持控制器代码的清洁和可读性非常有用 - Endpoint 公开了一个 ICrmSystem 接口,该接口具有很好的抽象方法,例如 RetrieveCustomerDetails(int customerId),然后在包装到 CustomerQuery DTO 并在远程 CustomerQueryHandler 服务中触发的端点类中。对于隔离测试,您只需模拟 ICrmSystem 并针对模拟的实现测试控制器方法。
事情是 - WCF 需要大量神秘而微妙的配置,目前我必须在我的 Web 应用程序的 web.config 文件中拥有整个 system.serviceModel 绑定和客户端配置。
是否有一种更简洁的方式来管理此配置 - 最好作为 Endpoint 抽象模块的一部分,这样 Web 开发人员甚至不需要知道 WCF 正在幕后进行?我可以以某种方式将端点配置文件的引用放入我的网络应用程序吗?或者以编程方式而不是声明方式管理 WCF 配置?
谢谢,
迪伦