我有许多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
有没有办法更新现有的调用以实现另一个(完全相同的)方法?当您无法更新定义时,这是获得单个方法实现两个接口的最佳方法吗?
答案 0 :(得分:0)
您可以在ServiceReference.PingableClient中看到您的方法ServicePing(),前提是IPingable标记为[ServiceContract],ServicePing()方法标记为[OperationContract]。
快乐的编码......