1

我将以下内容添加到 Windows 服务“-foo”的启动参数框中,然后在不关闭对话框的情况下启动服务。

static void Main(string[] args)
{
    //...
}

但是在我的服务中, args 是空的。为什么会这样?

4

2 回答 2

3

那是因为这些参数没有传递给Main,而是服务的OnStart方法。但是,从命令行传递的参数(例如,通过从控制台执行服务 exe)最终将args用于该Main方法。

于 2013-09-05T13:35:20.093 回答
1

那是因为服务使用不同的入口点。请参阅服务入口点服务 ServiceMain 函数。用受管理的说法,参数被传递给ServiceBase.OnStart.

于 2013-09-05T13:38:25.520 回答