【发布时间】:2015-07-21 18:50:23
【问题描述】:
现在我有一个 C# 应用程序,它使用计时器 24/7 运行,它会经过所有 30 秒并执行任何操作。
我想让这个应用程序成为 Windows 服务,在后台运行。但是服务立即崩溃..
我的代码:
public static System.Timers.Timer _timer = new System.Timers.Timer();
static void Main(string[] args)
{
_timer.Interval = 30000;
_timer.Elapsed += timerCallback;
_timer.AutoReset = true;
_timer.Start();
}
public static void timerCallback(Object sender, System.Timers.ElapsedEventArgs e)
{
// Do anything..
}
还有错误:
Windows 无法在本地计算机上启动应用程序服务。
错误 1053:服务没有及时响应启动或控制请求
在 windows 事件查看器中出现了这条消息:
等待应用程序服务连接时超时(30000 毫秒)。
但错误出现的速度超过 30 秒?!
有运行该服务的解决方案吗? 谢谢
迈克尔
【问题讨论】:
-
能否贴出崩溃时事件日志中记录的代码和堆栈跟踪?
-
Windows 服务通常不设计为与桌面交互。与其使用
Console.ReadLine()来阻止服务停止,不如将其放入一个连续循环中,除非发生错误。 -
@AdrianThompsonPhillips 添加了我的代码和错误消息
标签: c# windows-services