我正在设计一个WCF服务,该服务将为请求“GetProduct”和“UpdateProduct”等内容的客户提供服务。此外,客户将订阅的另一项服务将向他们发送PUSH通知。
'PULL'和'PUSH'WCF服务将在Windows服务下运行。
我想封装一些监控解决方案,允许我打开一个WPF应用程序,该应用程序将连接到服务并显示现在有多少客户端连接到两个服务(应该是相同的)并且允许我断开客户端与服务的连接,并查看服务已记录的日志。
我如何在服务方面设计这个?
我是否需要为“监控”应用创建第3项服务,以便在需要时检查有多少客户连接到“PULL”和“PUSH”服务?
或者我只是将“GetNumOfClients”和“DisconnectClient”功能添加到“PUSH”和“PULL”服务中?这似乎是错误的,因为它为那些不属于那里的服务引入了逻辑,并且还允许客户端相互断开......
答案 0 :(得分:1)
对于日志记录,请使用log4net或health monitoring。 Log4net功能多样且可配置。您可以打开WCF diagnostics日志记录,其中包含有关您的服务内容的详细信息您可以在此处阅读如何开启和使用WMI提供商来检测您的服务以及性能{{3}是可用的。
为什么需要断开客户端连接?当您在方法中抛出异常时,您可以“断开连接”客户端通道的故障,但除此之外,您不应该关心管理服务连接。