我正在C#中构建Windows服务,并且有一个名为OnStart的方法,我所有的业务逻辑都在一个名为code.cs的文件中,如何告诉OnStart方法在code.cs中调用stater方法“starter” ?
/// <summary>
/// OnStart: Put startup code here
/// - Start threads, get inital data, etc.
/// </summary>
/// <param name="args"></param>
protected override void OnStart(string[] args)
{
base.OnStart(args);
}
最佳答案
OnStart需要返回以便Windows知道服务已启动。您应该在OnStart中启动一个新线程来调用您的启动程序。就像是:
protected override void OnStart(string[] args)
{
Thread MyThread = new Thread(new ThreadStart(MyThreadStarter));
MyThread.Start();
base.OnStart(args);
}
private void MyThreadStarter()
{
MyClass obj = new MyClass();
obj.Starter();
}
假设您当前的Starter方法没有产生它自己的线程。关键是允许OnStart返回。
关于c# - C#-使用OnStart方法调用线程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6455966/