我在使用Windows服务时遇到过问题; 该服务每5秒检查一次更改。 如果我开始服务,一切都很好,但是在我将笔记本电脑置于睡眠模式之后,并且“唤醒”#39;再一次,它永远不会发生任何事件。
所有服务逻辑都在DLL内部进行调试,这可能是错误吗?
答案 0 :(得分:0)
在ProjectInstaller.cs设计器视图中,将StartType设置为自动。之后在同一个类中,但在代码视图中添加这段代码,这将允许服务在安装后自动启动。
[RunInstaller(true)]
public partial class ProjectInstaller : System.Configuration.Install.Installer
{
public ProjectInstaller()
{
InitializeComponent();
this.AfterInstall += new InstallEventHandler(ServiceInstaller_AfterInstall);
}
void ServiceInstaller_AfterInstall(object sender, InstallEventArgs e)
{
using (ServiceController sc = new ServiceController(Program.ServiceName))
{
sc.Start();
}
}
}
将Program.ServiceName
更改为您声明ServiceName
的位置,在我的情况下是在Program类中。