如果花了那么多时间,有人可以告诉我为什么需要那么多时间。 不仅仅是一个概述。
答案 0 :(得分:7)
如果您的服务在启动期间(service.OnStart
)执行了大量工作,则需要很长时间才能启动。
如果您希望服务立即启动,请将工作推迟到另一个线程。
这假设正常的服务启动几乎是立竿见影的。
答案 1 :(得分:3)
protected override void OnStart(string [] args)
{
System.Threading.Thread workerThread =new System.Threading.Thread(longprocess());
workerThread.start();
}
private void longprocess()
{
///long stuff
}
虽然这会使您的服务快速启动,但不会保证longprocess()会很快完成。