【发布时间】:2022-08-11 21:05:33
【问题描述】:
我已经为我们的一个服务器创建了一个 SNMP 侦听器应用程序,该应用程序作为服务运行并被动侦听从另一台服务器发送的任何 SNMP 消息警报,并在收到通知时向适当的员工发送页面/电子邮件。我按照一些在线教程将应用程序设置为 Windows 服务,因为它需要持续运行并且不需要用户的输入/交互,或与任何 GUI/桌面应用程序交互。
出于某种原因,当我将应用程序安装为服务时,它会正确安装,但实际上似乎并没有工作。当 SNMP 消息发送到服务器时,没有任何反应。但是,在我的 app.publish 文件夹中有一个 SNMPTrapper.exe 应用程序,如果我自己运行该 exe,那么一切正常。目前我正在使用一种解决方法,以便服务代码的 Onstart 部分基本上只是启动 SNMPTrapper.exe 应用程序,当服务停止时,它会找到并终止 SNMPTrapper.exe 进程。但此时,服务本身似乎没有工作/做任何事情。它本质上只是一种启动 SNMPTrapper.exe 应用程序的方法。
有谁知道问题可能是什么?在我通读的一些教程中,它们概述了如何为服务设置轮询间隔,但我认为这不适用,因为该服务基本上只是不断运行以侦听新消息,它会\不需要定期检查任何东西。
现在几乎我所有的代码都在 Sub Main() 中执行,除了一些函数调用。
任何帮助将不胜感激。
标签: vb.net visual-studio windows-services