繁体   English   中英

C# - 使用OnStart方法调用线程

[英]C# - Using the OnStart method to call a thread

我在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返回。

您必须创建对象的实例并在实例上调用该方法。

例如

CodeMyClass obj = new CodeMyClass();
obj.Starter();

//Replace CodeMyClass with the Type name. or if it is a single call the appropriate constructor.

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM