Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.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
C# 如何使Windows服务在系统启动时“运行”_C#_.net_Windows_Service_Windows Services - Fatal编程技术网

C# 如何使Windows服务在系统启动时“运行”

C# 如何使Windows服务在系统启动时“运行”,c#,.net,windows,service,windows-services,C#,.net,Windows,Service,Windows Services,我知道这个问题已经得到了回答,但我有一个更具体的问题。我按照建议添加了 serviceInstaller1.StartType = ServiceStartMode.Automatic; serviceInstaller1.DelayedAutoStart = true; 事实上,我可以确认,在安装之后,我看到我的服务的启动类型等于自动延迟启动。但是,我重新启动了我的机器,它的状态不等于像其他服务一样运行。我在没有serviceInstaller1的情况下尝试过。DelayedAutoStar

我知道这个问题已经得到了回答,但我有一个更具体的问题。我按照建议添加了

serviceInstaller1.StartType = ServiceStartMode.Automatic;
serviceInstaller1.DelayedAutoStart = true;

事实上,我可以确认,在安装之后,我看到我的服务的启动类型等于自动延迟启动。但是,我重新启动了我的机器,它的状态不等于像其他服务一样运行。我在没有serviceInstaller1的情况下尝试过。DelayedAutoStart=true;同样的问题。我想知道我的登录身份是否需要是我的域帐户以外的东西。或者还有什么问题?

首先,我要检查服务是否以logon=SYSTEM启动。如果这样做行得通,根据我的经验,在大型企业环境中,最常见的原因是服务应该运行的用户帐户没有作为服务登录的权限。在Windows安全事件日志中查找登录错误。根据您的环境,您可以使用GPO来启用此权限,或者如果Windows环境允许,您可以通过本地安全策略自行设置此权限


或者您的服务在OnStart中崩溃,但这也可能是Brien和Shetty假设在事件日志应用程序事件日志中常见的情况。

您是否记录了错误?您能否通过事件日志确认它正在尝试启动?您确定您的服务可以成功启动吗?请查看事件查看器中的错误