我将以下内容添加到Windows服务“-foo”的启动参数框中,然后在不关闭对话框的情况下启动服务。
static void Main(string[] args)
{
//...
}
但是在我的主要服务中,args是空的。为什么会这样?
答案 0 :(得分:3)
那是因为这些参数不会传递给Main
,而是传递给服务的OnStart
方法。但是,从命令行传递的参数(例如,通过从控制台执行服务exe)将以args
方式结束{/ 1}}。
答案 1 :(得分:1)
那是因为服务使用不同的入口点。请参阅Service Entry Point和Service ServiceMain Function。在管理的用语中,参数传递给ServiceBase.OnStart
。