在我的工作中,我们有一些旧的服务'实际上Console
个应用程序在我们的服务器上全天候运行。最后我们决定用Windows Services
替换它,但现在我们可以从每个控制台窗口看到有错误或某些事件(比如请求太多等)。
现在想法让每个Windows服务每分钟写一个数据库(所以我们可以看看服务是否已经停止),并在有特定事件时写入数据库(像许多要求)。
现在我一直在考虑在每个Windows服务中托管WCF Service
,因为我认为还有更多的可能性(而且我不太喜欢我们的数据库每分钟从10多个服务中插入数据),并且仍然可以编写一个应用程序,每隔x个时间向WCF
服务发送一次请求。
WCF
与在数据库中写入的方法相比有任何缺点吗?在数据库中,当然可以更容易地保存数据直到它被阅读,但这只是我能想到的一个(小)问题。
提前致谢!
答案 0 :(得分:1)
我会选择以下选项:
如您所知,创建WCF端点并验证您的服务是否已启用。您仍然需要实现错误升级。我喜欢使用ELMAH
对于事件,使用log4net或Nlog等记录器记录服务活动。然后将其附加到DB / Email / File。我最喜欢的是使用ELK(Elastic / Logstash / Kibana)或Splunk来管理日志。