繁体   English   中英

为什么我的windows服务在重启后就停止了?

[英]Why does my windows service stops after computer is restarted?

我使用 C# 创建了一个 windows 服务,它作为 AB PLC 和激光设备之间的接口。 它所做的只是从 PLC 获取条码编号并发送到激光设备进行激光标记。

我使用的两个主要 function 是服务的 StartEvent() 和 StopEvent()。 我的代码没有任何问题。 我遇到的问题是在我重新启动计算机后服务停止。 而且,我必须手动重启服务。

我该如何解决这个断电恢复问题? 我是否在我的服务中遗漏了一些关闭事件代码? 请注意,我为 PLC 和激光使用了第三方库。 而且,这些 PLC 和激光器的通信设置都存储在 SQL 数据库中,我为此使用了 ado.net...

我在下面附上了服务配置。

在此处输入图像描述 我有如下的恢复设置,但这没有帮助

在此处输入图像描述

当前控件的默认计算机注册表设置如下在此处输入图像描述

我已经解决了这个问题。 问题不过是“竞争条件”。

我的应用程序依赖于 SQL 服务器。 所以,我有两个选择来修复它。 我通过在命令提示符中编写一些命令来添加 SQL 服务器依赖项。 (你可以用谷歌搜索这些命令来添加服务依赖)。 接下来,我尝试了并且在我看来比第一个选项更可靠的是在启动期间增加服务延迟。 这必须在您的代码中完成。 就我而言,我使用 C# 进行服务,因此我在应用程序中添加了同步线程延迟。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM