为什么ServiceBase中的OnStart()方法是参数参数?

时间:2014-07-18 12:08:24

标签: c# windows-services

采用以下示例:

public static class Program {

    public static void Main(string[] args) {
        ServiceBase.Run(new DummyService());
    }

}

public class DummyService : ServiceBase {

    protected override void OnStart(string[] args) {

    }

}

ServiceBase中要覆盖的虚方法将一个字符串参数数组传递给方法体,但是,当应用程序启动时,它需要一个CAN方法已经接收到启动参数的主方法。那么,将参数强制为OnStart()方法签名是什么意思?

1 个答案:

答案 0 :(得分:3)

单个进程可以托管多个服务。 You can pass arguments to a service when you start it.这些参数对于每个服务可以是不同的,实际上对于每个服务的开始都是不同的。

MSDN says

  

OnStart可以将参数作为传递数据的方式,但这种用法很少见。