0

我是 WCF 服务的新手。我知道生成代理的三种方法。

  1. 使用服务参考
  2. 使用 SvcUtil
  3. 使用客户端库

但我很困惑在哪种情况下我应该使用哪种类型。就我而言,我必须为我没有服务代码的第三方服务生成代理。我不想使用添加服务参考,因为它给了我以下问题。在这个stackoverflow 问题中提到。所以我想使用clientBase。但我认为如果不使用服务参考,我就无法使用它。我很困惑我们什么时候应该选择哪种代理。

4

1 回答 1

0

就我而言,我必须为我没有服务代码的第三方服务生成代理。

我将有多个应用程序使用此服务。

在这种情况下,最好使用SvcUtil,因为它可以生成一个所有项目都可以使用的库,即使它们是 .NET 库。生成后,您可以随时进入并对其进行调整。

另一方面,添加服务引用对于单个 .exe 来说很好,但正如您所发现的,这对于多个应用程序来说很烦人,因为您需要重复该过程并且最终会得到 WCF 类型的多个定义,这只会增加维护。

只需确保将 WCF 客户端配置保留在应用程序的 app.config 中,而不是类库的 app.config 中(因为前者可能无法读取)。

如果您的供应商遵循WCF 手动方式……正确方式,那会让您的生活更轻松。

然而 SOAP 纯粹主义者会争辩说,供应商提供的唯一东西是 SOAP WSDL XML 文件,无论如何您都需要从中生成类型。(遗憾的是,.NET 中的默认行为是从后到前)

于 2016-12-27T12:16:23.440 回答