用WCF编写Windows服务

3

我希望在WCF中编写Windows服务。搜索了很多后,我发现只有关于在WCF中编写Web服务的教程,而没有关于Windows服务的。

请问是否可以提供任何一个链接,介绍如何在WCF中编写Windows服务的教程?


2
你所说的“WCF中的Windows服务”究竟是什么意思 - Windows服务大致上是指Windows操作系统中的后台任务。而WCF是一个通信框架,因此原文提出的问题并没有太多意义。 - Murph
Windows服务 != WCF服务、Web服务、SOAP服务等。这是完全不同的概念。Windows服务是在后台运行的长时间运行的应用程序。WCF/Web服务涉及SOA作为在网络上传输数据的一种方式,甚至是在同一台机器上运行的应用程序之间进行通信(管道)。那么,你想要实现什么?这才是真正的问题。 - Jeff LaFay
4个回答

5

Windows服务是可执行文件。WCF应用程序通常是通过URI公开的Web服务。您可以在Windows服务中托管WCF应用程序,但反之则不行。


准确地说,你不能在WCF中编写Windows服务 - 但可以将WCF服务托管在NT服务中... - marc_s

4
要在 C# 中创建一个 Windows 服务,请按照这里的步骤。如果您想使您的 Windows 服务支持 WCF,则在 OnStart() 回调函数中创建 System.ServiceModel.ServiceHost 实例来托管您的 WCF 服务。

4
所有答案都很好。只是一个快速的提示...将您的WCF服务实现在类库(dll)中,这样您就可以在任何地方托管它(IIS、控制台应用程序或Windows服务)。我建议从控制台应用程序开始,当您的服务按预期工作时,创建一个Windows服务,添加对您的库的引用,并从那里启动服务(WCF)(Windows服务)。
编辑:我只是假设您的意思是创建一个作为Windows服务托管的WCF服务,如果不是这种情况,请忽略我的答案。

2

按照常规方式创建您的WCF服务,创建一个Windows服务,然后使用ServiceHost在Windows服务中自托管WCF服务。有关自托管WCF服务的更多信息,请参见此MSDN页面


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接