我必须开发一种服务,通过TCPListener继续通过GPRS监听广播的消息。
我应该使用哪种项目类型,Windows服务或Web服务?
如果可能,您可以提供简短的代码示例吗?
答案 0 :(得分:2)
术语“Web服务”通常是指在端口80上侦听标准HTTP请求的系统,通常使用SOAP,JSON或普通旧XML。 Microsoft提供了几个框架来发布和使用.NET中的Web服务,包括WCF,IIS,并通过tcplistener
滚动自己的。
“Windows服务”是一个长期存在的过程,可以在系统启动时自动启动。服务本身并没有任何内在的沟通机制:你必须自己编写。
因此,您需要考虑GPRS系统将使用哪种通信协议。如果它正在广播例如HTTP POST数据,然后在IIS上托管的WCF端点可能是最简单,最快捷的方式。
或者,如果您的GPRS系统通过已知端口进行TCP数据包的低级广播,您很可能想要创建Windows服务,然后在服务启动时创建tcplistener
。
用于创建Windows服务的Visual Studio向导将为您提供创建服务启动时执行的代码所需的脚手架。这里有一个很好的演练:http://www.csharp-examples.net/create-windows-service/。