C#windows服务需要花费时间在60-65秒左右开始吗?

时间:2010-01-15 16:12:01

标签: c# windows windows-services

嗨,伙计们, 我在C#中设计了一个Windows服务,它需要一段时间才能启动(60-70秒)。我想知道它通常需要很长时间才能启动,或者我的代码需要花费很长时间。 我有两个线程,每6秒和1分钟运行一次。

如果花了那么多时间,有人可以告诉我为什么需要那么多时间。 不仅仅是一个概述。

2 个答案:

答案 0 :(得分:7)

如果您的服务在启动期间(service.OnStart)执行了大量工作,则需要很长时间才能启动。

如果您希望服务立即启动,请将工作推迟到另一个线程。

这假设正常的服务启动几乎是立竿见影的。

答案 1 :(得分:3)

像Oded说的那样,

     protected override void OnStart(string [] args)
  {
System.Threading.Thread workerThread =new System.Threading.Thread(longprocess());
workerThread.start();
  }

private void longprocess()
{
///long stuff
}

虽然这会使您的服务快速启动,但不会保证longprocess()会很快完成。