阅读 857

C# windows服务启动时报错服务没有及时响应启动或者控制请求,错误代码1053

原因多种:

1. service程序有bug,自行写测试方法排错。

2. service程序使用System.Configuration.ConfigurationManager类库尝试读取app.config下的配置项等

安装服务之后System.Configuration.ConfigurationManager找到的路径不再是原来的exe所在路径,故不可使用;

可以另外写xml或者Json配置文件通过Application.StartupPath或System.AppDomain.CurrentDomain.BaseDirectory读取。

3.  OnStart方法响应逻辑花费过长时间,建议进行异步调用,如开启子线程或使用timer,使用timer例如:

 1 System.Timers.Timer _timer = new System.Timers.Timer();
 2 protected override void OnStart(string[] args)
 3         {
 4             try
 5             {
 6                 int _interval = 1000 * 60 * interval;
 7                 _timer.Interval = _interval;
 8                 _timer.AutoReset = true;
 9                 _timer.Elapsed += new System.Timers.ElapsedEventHandler(Time_Elapsed);
10                 _timer.Enabled = true;
11                 WriteLog.SaveInfoLog("服务已启动");
12             }
13             catch (Exception ex)
14             {
15                 WriteLog.SaveExceptionLog(ex.Message);
16             }
17 
18         }
19 private void Time_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
20         {
21             try
22             {
23                 if (!isRun)
24                 {
25                     //调用业务方法
26                 }
27             }
28             catch (Exception ex)
29             {
30                 WriteLog.SaveExceptionLog("Error:" + ex.Message);
31             }
32         }

4. 检查.Net FrameWork版本。

5. 检查ProjectInstaller的serviceInstaller控件属性中的服务名称是否与启动的服务名一致。

原文:https://www.cnblogs.com/jnyx/p/15140894.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐