【发布时间】:2011-03-28 00:36:31
【问题描述】:
我构建了一个 Windows 服务,但我收到错误 1053,但不知道为什么。这就是我的 onstart 的样子:
protected override void OnStart(string[] args)
{
var workerThread = new Thread(Worker);
workerThread.Start();
}
我按照我应该的方式产生了一个新线程,但我仍然没有得到快乐。
【问题讨论】:
-
你确定你的工作线程没有抛出错误 - 一种简单的方法来找出它在 onstart 中放置一个线程睡眠语句 20 左右,然后将调试器附加到进程以便你可以看到发生了什么事。
-
服务的构造函数(或其他初始化代码)中是否有任何可能需要大量时间才能运行的内容?
-
长时间运行的进程有什么关系,在新的therad上不都是异步的吗?
-
或控制请求。其余的怎么样,OnPause、OnContinue 等等。
-
@Al Katawazi - 如果服务初始化时间过长(即在 SCM 甚至能够调用 OnStart 之前运行的代码),那么您将收到此错误。如果实现服务的类未能正确初始化(例如构造函数中的异常),您也可能会收到此错误。
标签: .net windows windows-services