如何知道应用程序提供的服务?

时间:2011-10-18 22:02:04

标签: c# wcf

我创建了一个提供多种服务的应用程序。 现在我想添加一个询问应用程序它提供的服务的能力,所以我想用两种方法创建另一个服务:

  • 如果应用程序提供了指定的服务,则第一个方法返回true;
  • 第二种方法返回一个(字符串)列表,其中包含应用程序提供的服务名称。

您如何看待这种方法? 有没有更好的方法来找出应用程序提供的服务?

1 个答案:

答案 0 :(得分:2)

你最初的解释是有道理的,但事实上我认为你只需要第一种方法。

这让我想起了十年前第一次使用COM时的问题,你可以查询一个对象是否实现了一个接口,但你确实需要知道你要查询的接口。人们曾经说过为什么我不能调用方法并获得所有已实现接口的列表?答案很简单,即使你得到一个列表,如果你不知道那些接口是什么,你也不能使用结果。

同样,在您的情况下,即使您获得Add,Multiply,Sell,Go,Take等列表,如果客户端应用程序不完全知道这些方法或服务是什么以及如何使用它们整个列表毫无意义。

最好让您的客户端应用程序要求提供特定服务,并且在此类服务暴露的情况下能够成功。