我有一个Windows服务,我希望我的应用程序能够在该服务上调用某些方法。
我已经读过,通过使用WCF公开所需的方法,这是可能的。
有人可以给我一个关于如何实现这个目标的指针吗?我理解Web服务并调用它们,但WCF和Windows服务不那么强大。
答案 0 :(得分:1)
您可以在Windows服务中托管WCF服务;如果您希望像使用Web服务一样使用它,请提供HTTP端点。
这允许使用WCF
更好地控制Windows服务实例答案 1 :(得分:1)
查看MSDN developer center on WCF - 它为您提供了很好的介绍和许多WCF的参考资料。
基本上,您需要做的是创建一个服务合同 - 一个定义您的服务及其方法的界面。除非你只使用字符串和整数,否则你很可能还需要定义一个数据契约 - 结构化的类来保持你的对象来回。
然后,您需要在实现该服务接口的类中使用服务实现。然后,此类将通过ServiceHost
(来自WCF运行时的类)托管在NT服务中。
通常,您将在服务配置中定义“端点”(要调用的URL和用于执行此操作的协议) - 在本例中,在NT服务的app.config
中。
一旦启动并运行,您的外部客户端应该能够调用在NT服务中运行的WCF服务。
马克