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

时间:2015-12-22 20:00:07

标签: c# .net wcf windows-services

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

现在想法让每个Windows服务每分钟写一个数据库(所以我们可以看看服务是否已经停止),并在有特定事件时写入数据库(像许多要求)。

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

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

提前致谢!

1 个答案:

答案 0 :(得分:1)

我会选择以下选项:

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

  2. 使用看门狗How can I verify if a Windows Service is running

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