windows服务的状态,WCF与每隔x秒/分钟在数据库中写入状态的比较

本文关键字:状态 数据库 分钟 比较 WCF 服务 windows | 更新日期: 2023-09-27 18:27:50

在我的工作中,我们有一些旧的"服务",它们实际上是Console应用程序,在我们的服务器上全天候运行。最后,我们决定用Windows Services替换它,但现在我们可以从每个控制台窗口中看到何时出现错误或某些事件(如请求过多等)

现在,我们的想法是让每个windows服务每分钟都在数据库中写入一次(这样我们就可以看到服务是否没有停止),并在发生某些事件(比如许多请求)时在数据库中进行写入。

现在,我一直在考虑在每个windows服务中托管一个WCF Service,因为我认为还有更多的可能性(我真的不喜欢我们的数据库每分钟从10多个服务插入数据的想法),而且仍然可以编写一个应用程序,每x个时间向WCF服务发送请求。

与在数据库中写入的方法相比,WCF有什么缺点吗?当然,在数据库中,保存数据直到被读取更容易,但这只是我能想到的一个(小)问题。

提前感谢!

windows服务的状态,WCF与每隔x秒/分钟在数据库中写入状态的比较

我会选择以下选项:

  1. 正如您所建议的,创建WCF端点并验证您的服务是否在上。您仍然需要实现错误升级。我喜欢使用ELMAH

  2. 使用看门狗如何验证Windows服务是否正在运行

对于事件,使用log4net或Nlog等记录器记录服务活动。然后将其附加到DB/Email/File。我最喜欢的是使用ELK(Elastic/Logstash/Kibana)或Splunk来管理日志。