一个好的 WCF 客户端设计模式

The*_*ner 5 c# wcf design-patterns web-services

我的应用程序与大量 wcf 服务进行通信,即我的应用程序有多个程序集,每个程序集使用不同的 wcf 服务。

我正在寻找一个好的 wcf 客户端设计模式,以便我可以保持我的代码简洁、可重用和优雅。

我使用的 wcf 服务都是一样的 - 基本上用于检查价格然后预订东西。

Mar*_*ann 4

当您说所有服务都相同时,我认为您的意思是它们是相似的

如果它们确实相同,您应该能够对所有它们使用相同的 WCF 客户端(只是地址不同)。

如果不是这种情况,您可以定义一个符合公开功能的接口。这可能看起来像:

public interface IMyService
{
    decimal GetPrice(int productId);

    void Book(int thingId);
}
Run Code Online (Sandbox Code Playgroud)

现在编写 IMyService 的实现,充当每个 WCF 客户端和 IMyService 之间的适配器

在应用程序的其余部分中,您只需针对 IMyService 接口进行编程。(可选)您可以使用依赖注入将一个或多个具体 IMyService 实现注入到应用程序代码中。