我一直在寻找这个问题的替代解决方案,这个问题已经开始间歇性地发生,在当前的SOA中添加了许多服务。
我已经看到,如果服务在定义的超时期限内没有响应(默认超时是30000毫秒),服务控制管理器将生成一个事件。并且为了减轻这一问题,可以改变条目以设置所有服务的默认超时值。
在注册表编辑器中,编辑注册表子项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control.在详细信息窗格中,找到ServicesPipeTimeout条目将DWORD值修改为大于30,000毫秒的值,虽然此操作在我进行修改后有效,但在可能存在此问题的所有计算机上开始更改注册表项并不是最好的做法。
此外,最好不要创建一个可能会影响我无法控制的计算机上的所有服务的注册表项,有没有一种方法可以让SOA响应服务控制管理器的启动请求,并说它尚未完成?
发布于 2013-01-18 06:15:19
将启动的耗时逻辑推迟到不同的线程,并允许服务立即启动并响应服务控制管理器,而其余的启动发生在没有时间限制的情况下。
https://stackoverflow.com/questions/14024364
复制相似问题