我将以下内容添加到 Windows 服务“-foo”的启动参数框中,然后在不关闭对话框的情况下启动服务。
static void Main(string[] args)
{
//...
}
但是在我的服务中, args 是空的。为什么会这样?
那是因为这些参数没有传递给Main
,而是服务的OnStart
方法。但是,从命令行传递的参数(例如,通过从控制台执行服务 exe)最终将args
用于该Main
方法。
那是因为服务使用不同的入口点。请参阅服务入口点和服务 ServiceMain 函数。用受管理的说法,参数被传递给ServiceBase.OnStart
.