为什么ServiceBase的OnStart()方法有一个参数?

本文关键字:方法 有一个 参数 ServiceBase OnStart 为什么 | 更新日期: 2023-09-27 18:13:34

举个例子:

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中要重写的虚方法将一个字符串参数数组传递给方法体,然而,当应用程序启动时,它需要一个已经可以接收启动参数的主方法。那么,将参数强制到OnStart()方法签名有什么意义呢?

为什么ServiceBase的OnStart()方法有一个参数?

一个进程可以承载多个服务。您可以在启动服务时向其传递参数。这些参数对于每个服务都是不同的,实际上对于每个服务的每次启动也是不同的。

MSDN说

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

相关文章: