我有一个Topshelf Windows服务,当我以local system
运行时安装并启动就好了。
但是当我切换到域用户(或network service
)时,我收到以下错误:
Windows无法在本地计算机上启动My Cool Custom Service服务。
错误5:访问被拒绝。
我想知道我的域用户是否正在运行该服务,因为它没有权限,或者如果我个人没有权限以非Local System
用户身份启动服务
如何启动此服务?
注意:
我尝试过的事情:
MyCoolService.exe start
The service failed to start., System.ServiceProcess.TimeoutException: Time out has expired and the operation has not been completed.
答案 0 :(得分:2)
我决定尝试以Local System
运行然后冒充我要拨打电话的用户来解决此问题。
嗯,原来这个问题是我的Windows服务在启动时启动了自托管的SignalR服务。该调用是Access is Denied
错误的原因。
如果我让Local System
启动SignalR服务,那么使用我的域用户完成剩下的工作就可以了。
(我可能会发布一个关于如何授予我的用户启动SignalR服务权限的问题......)