我有一个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个文件夹路径”,则服务运行成功。任何人都能解释一下吗?
答案 0 :(得分:0)
命令行可以包含的字符数有限制。
对于普通命令行,它是8192个字符。对于CreateProcess,限制为32Kb。
参考文献: