Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用active directory中的其他凭据时,Windows服务不会启动_Windows_Service_Timeout - Fatal编程技术网

使用active directory中的其他凭据时,Windows服务不会启动

使用active directory中的其他凭据时,Windows服务不会启动,windows,service,timeout,Windows,Service,Timeout,我已经创建了一个windows服务。OnStart方法仅在计时器设置中存在: Timer startupTimer = new Timer(); protected override void OnStart(string[] args) { startupTimer.Elapsed += new ElapsedEventHandler(startupTimer_Elapsed); startupTimer.Interval = 60000; startupTimer.Enable

我已经创建了一个windows服务。OnStart方法仅在计时器设置中存在:

Timer startupTimer = new Timer();

protected override void OnStart(string[] args)
{
  startupTimer.Elapsed += new ElapsedEventHandler(startupTimer_Elapsed);
  startupTimer.Interval = 60000;
  startupTimer.Enabled = true;
  startupTimer.AutoReset = false;
}
当我安装并运行该服务时,直接以“本地系统帐户”的身份登录。它工作正常,在2秒内启动。但是,该服务需要使用特殊权限访问网络共享。因此,我设置了“以:[域\用户帐户]身份登录”。当我启动服务时,需要30秒以上的时间,我收到以下错误消息:服务没有及时响应启动或控制请求

搜索这个错误可以提供很多解决方案,但就我在谷歌搜索的情况而言,从来没有涉及到不同的凭证。我怀疑将超时值从30秒设置为60秒是否有帮助,因为OnStart代码非常小。另外,它是一个生产服务器,我不能仅仅为了在注册表中尝试另一个超时设置而重新启动它

有人对我有什么想法/建议吗


非常感谢

你在服务类构造函数或静态/类型构造函数中有代码吗?这可能是一个原因。要调试该问题,您可以在特定用户下运行服务可执行文件,并将调试器附加到该用户上-当然,您必须修改主入口点,才能在服务类中运行类似的启动代码,而不是调用ServiceBase.run。您是否可以让windows服务作为“本地系统帐户”运行,并使用模拟访问网络共享?@VinayC:感谢您的反馈。反Windows服务在客户位置的计算机上运行。我通过FTP上传安装程序。在那个位置,我没有任何可用的开发工具。@CodeCanvas:花了大约1个小时,但我似乎让它工作了——模拟。现在,我必须等待计时器过去,我才能告诉完整的服务工作;通常,当我创建windows服务时,在我的主入口点中,我会输入一段代码来嗅探命令行参数,例如/test,如果找到,则将其作为普通exe而不是windows服务运行。您应该尝试一下,这对查找与环境相关的问题非常有帮助。