在服务生命周期内执行端口监听

时间:2013-02-06 10:28:38

标签: c# .net wcf

我是WCF的初学者。我需要在我的服务中听一个特定的端口。应在托管服务时启动侦听(作为Windows服务)。它应该在服务停止时停止。

我已经设法在无限循环中实现简单控制台应用程序中的监听。

有没有办法在服务中做到这一点?

2 个答案:

答案 0 :(得分:0)

这应该不是问题,您只需要将其作为Windows服务托管。端口应定义为端点地址的一部分。有关更多信息,请点击此链接http://msdn.microsoft.com/en-us/library/ms733069(v=vs.90).aspx

答案 1 :(得分:0)

在服务启动时创建一个执行端口侦听的线程,假设我假设您知道如何进行端口侦听。然后当服务结束时调用侦听器线程的Thread.Abort方法。请记住在线程中捕获ThreadAbortException,因为当线程被杀死时会引发此异常。您需要在此处进行清理,例如关闭端口和任何流读者/编写者。