protected override void OnStart(string[] args)
{
while (true)
{
// do some work
// idle
Thread.Sleep(0, interval, 0)
}
}
我无法使用计时器/线程进行服务,因为我的第三方dll无法正常工作,因此我在OnStart中尝试了while条件,它会引发错误。 我如何在没有计时器/线程的情况下实现无限循环。
答案 0 :(得分:0)
您将不得不在另一个线程上进行工作,否则Windows服务管理器将假定您的服务尚未启动,因为OnStart()永不返回。
您的第三方库应该没有任何不同的工作,但是线程可能需要不同的单元模型。尝试创建STA线程(请参见Starting an STAThread in C#),看看是否可行,否则请与库的创建者联系。