C# Can';无法调用窗口服务,因为args太长?

C# Can';无法调用窗口服务,因为args太长?,c#,asp.net,windows-services,C#,Asp.net,Windows Services,我有一个windows服务。我用下面的方法称之为: public static void StartService(string serviceName, string[] args) { ServiceController service = new ServiceController(serviceName); service.Start(args); } 当我的args[0]=“一个长字符串,多个文件名的组合”我得到错误无法启动服务:异常详细信息:System.Com

我有一个windows服务。我用下面的方法称之为:

public static void StartService(string serviceName, string[] args)
{
     ServiceController service = new ServiceController(serviceName);
     service.Start(args);
}
当我的args[0]=“一个长字符串,多个文件名的组合”我得到错误无法启动服务:异常详细信息:System.ComponentModel.Win32Exception:存根接收到错误数据


首先,我认为访问被拒绝,但事实并非如此。如果我更改args[0]=“一个短字符串,1个文件夹路径”,则服务将成功运行。有人能给我解释一下吗?

命令行可以包含的字符数是有限制的

对于普通命令行,它是8192个字符。对于CreateProcess,限制为32Kb

参考资料:


实际字符串是什么(“组合批次文件名”没有帮助)?此外,事件日志中发生了什么错误?取决于
service.Start()
中发生了什么。。。这会导致错误记录吗?如果没有,我们无法回答此问题。我收到以下错误:异常详细信息:System.ComponentModel.Win32Exception:存根接收到错误数据