【问题标题】:best strategy to monitor/manage windows services from multiple clients?. (C#)监控/管理来自多个客户端的 Windows 服务的最佳策略? (C#)
【发布时间】:2011-08-20 04:55:43
【问题描述】:

我有一个 Windows 服务 (.net),它是自定义协议的实现。我需要从多个桌面客户端监控此服务(数据包到达、拒绝、错误等)。

我正在评估不同的替代方案(远程处理、套接字多播等),但我想知道这个问题是否有标准解决方案。我认为这是一个很常见的场景,如果你想在 IIS、服务组件等服务中,你可以同时从多个客户端远程连接并管理服务。

感谢您的建议和示例。

提前致谢。

【问题讨论】:

标签: c# windows-services


【解决方案1】:

SNMP.

来自维基百科的引述(我已经突出显示了有趣的部分):

简单网络管理协议 (SNMP) 是“用于管理 IP 网络上的设备的 Internet 标准协议。通常支持 SNMP 的设备包括路由器、交换机、服务器、工作站、打印机、调制解调器机架等。”1 它主要用于网络管理系统中,用于监控网络连接设备是否存在需要管理员注意的情况

C# 实现:http://www.snmpsharpnet.com/

【讨论】:

  • 希望我能投不止一张赞成票。将非常感兴趣地查看链接的项目。
  • 嗨 jgauffin,我有使用 SNMP 的经验,这是一个非常复杂的方法。我的服务是使用比 SNMP 更简单的协议来管理网络设备。我认为 SNMP 是管理服务背后的设备,而不是管理服务。
  • 一开始似乎很复杂,我同意。但是所有这些数字都是有充分理由的。尝试查看一些代码示例(例如 CodeProject 中的示例),您会发现这并不神奇。好处是您的客户可以使用任何 SNMP 监控应用程序来跟踪您的应用程序。这是一个销售点。
  • 这是一个内部解决方案,我不需要把这个卖给我老板以外的任何人,他喜欢简单的解决方案。我喜欢专业的解决方案,那么我需要一个让我们双方都满意的解决方案。
  • 好吧。如果您认为 SNMP 过于复杂,请使用 WCF。
【解决方案2】:

一个简单的实现是使用Custom Commands

然后您就可以使用 WMI 通过您的自定义命令来管理服务。

【讨论】:

  • 不知道这个,这似乎是一个有趣的解决方案
  • @Ariel, @Aliostad:如果您的意图是监控服务,我看不出这是如何工作的。您最多只能将 128 个不同的“命令”从客户端传递到服务,而无需其他参数。您无法通过这种方式从服务中接收任何内容,因此您将无法对其进行监控(如果我没有遗漏您的答案)。
猜你喜欢
  • 1970-01-01
  • 2012-10-30
  • 1970-01-01
  • 2022-06-08
  • 2013-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多