windows 服务的状态,WCF 与每隔 x seconds/minutes 在数据库中写入状态
Status of windows service, WCF vs writing status in database every x seconds/minutes
在我的工作中,我们有一些旧的 'services',它们实际上是 Console
应用程序,在我们的服务器上 运行 24/7。最后我们决定用 Windows Services
替换它,但现在我们可以从每个控制台看到 window 何时出现错误或某些事件(如太多请求等)
现在的想法是让每个 windows 服务每分钟都写入数据库(这样我们就可以看到服务是否没有停止),并且当有某些事件时也写入数据库(喜欢许多请求)。
现在我一直在考虑在每个 windows 服务中托管一个 WCF Service
,因为我认为有更多的可能性(而且我不太喜欢我们的数据库的想法每分钟从 10 多个服务插入数据)并且仍然可以编写一个应用程序,每隔 x 时间向 WCF
服务发送请求。
与在数据库中写入的方法相比,WCF
有什么缺点吗?当然,在数据库中,在读取数据之前保存数据会更容易,但这只是我能想到的一个(小)问题。
提前致谢!
我会选择以下选项:
按照您的建议,创建 WCF 端点并验证您的服务是否已开启。您仍然需要实施错误升级。我喜欢用 ELMAH
使用看门狗How can I verify if a Windows Service is running
对于事件,使用 log4net 或 Nlog 等记录器记录服务活动。然后将其附加到 DB/Email/File。我最喜欢的是使用 ELK (Elastic/Logstash/Kibana) 或 Splunk 来管理日志。
在我的工作中,我们有一些旧的 'services',它们实际上是 Console
应用程序,在我们的服务器上 运行 24/7。最后我们决定用 Windows Services
替换它,但现在我们可以从每个控制台看到 window 何时出现错误或某些事件(如太多请求等)
现在的想法是让每个 windows 服务每分钟都写入数据库(这样我们就可以看到服务是否没有停止),并且当有某些事件时也写入数据库(喜欢许多请求)。
现在我一直在考虑在每个 windows 服务中托管一个 WCF Service
,因为我认为有更多的可能性(而且我不太喜欢我们的数据库的想法每分钟从 10 多个服务插入数据)并且仍然可以编写一个应用程序,每隔 x 时间向 WCF
服务发送请求。
与在数据库中写入的方法相比,WCF
有什么缺点吗?当然,在数据库中,在读取数据之前保存数据会更容易,但这只是我能想到的一个(小)问题。
提前致谢!
我会选择以下选项:
按照您的建议,创建 WCF 端点并验证您的服务是否已开启。您仍然需要实施错误升级。我喜欢用 ELMAH
使用看门狗How can I verify if a Windows Service is running
对于事件,使用 log4net 或 Nlog 等记录器记录服务活动。然后将其附加到 DB/Email/File。我最喜欢的是使用 ELK (Elastic/Logstash/Kibana) 或 Splunk 来管理日志。