如何在VB.Net中通过WCF使用多个接口

时间:2015-06-11 20:44:25

标签: vb.net wcf

我有许多WCF服务,它们都有某个方法ServicePing,它返回有关服务的一些信息。我希望能够将此方法抽象到一个接口中,以便我可以在客户端中使用它。

我转到第一个服务并将ServicePing方法移到IPingable界面。然后我使现有接口继承自IPingable。当我更新服务并重新生成代理时,我可以看到该方法,但代理类本身并没有实现IPingable,尽管这是调用的位置。

然后我回到服务,而不是让接口继承IPingable,我让服务本身实现了两个接口。现在我甚至无法在生成的类中看到该方法。

如果没有办法让两个接口都通过客户端,那么我正在考虑添加到生成的Partial Class。像

这样的东西
Partial Public Class GeneratedClass
  Implements IGeneratedClassContract

  Public Function ServicePing() As Boolean Implements IGeneratedClassContract.ServicePing
    'Definition

添加:

Partial Public Class GeneratedClass
  Implements IPingable

  Public Function ServicePing() As Boolean Implements IPingable.ServicePing
    `Call IGeneratedClassContract.ServicePing

有没有办法更新现有的调用以实现另一个(完全相同的)方法?当您无法更新定义时,这是获得单个方法实现两个接口的最佳方法吗?

1 个答案:

答案 0 :(得分:0)

您可以在ServiceReference.PingableClient中看到您的方法ServicePing(),前提是IPingable标记为[ServiceContract],ServicePing()方法标记为[OperationContract]。

快乐的编码......