C#做Windows服务问题,服务启动时报

时间:2022-02-18 17:15:18
名位大侠:
  服务程序的目标是启动三个定时器去定时导数据
  程序代码如下:
  

    public class clsSender 
    {
        public System.Timers.Timer timerRptTankDips = new System.Timers.Timer();
        public System.Timers.Timer timerMaster = new System.Timers.Timer();
        public System.Timers.Timer timerTankDelivery = new System.Timers.Timer();
        ...

        public void StartServer()
        {
                timerRptTankDips.Elapsed += new System.Timers.ElapsedEventHandler(RptTankDips_Tick);
                timerMaster.Elapsed += new System.Timers.ElapsedEventHandler(RequestMaster_Tick);
                timerTankDelivery.Elapsed += new System.Timers.ElapsedEventHandler(RequestTankDelivery_Tick);

                timerRptTankDips.Interval = 60000;
                timerMaster.Interval = 60000;
                timerTankDelivery.Interval = 60000;

                timerRptTankDips.Start();
                timerMaster.Start();
                timerTankDelivery.Start();
        }

        public void RptTankDips_Tick(object state, System.EventArgs e)
        {
            timerMaster.Stop();

            try
            {
                RequestMaster("RequestMaster");
            }
            catch (Exception ex)
            {
                ...
            }
            timerMaster.Start();
         }
        public void RequestTankDelivery_Tick(object state, System.EventArgs e)
        {
            timerTankDelivery.Stop();
            try
            {
                bool flag = true;
                while (flag)
                {
                    int result = CheckTankDeliveryUpdate();
                    if (result > 0)
                    {
                        RequestTankDelivery("RequestTankDelivery");
                    }
                    else
                    {
                        timerTankDelivery.Start();
                        flag = false;
                    }
                }
            }
            catch (Exception ex)
            {
               ... 
            }
            timerTankDelivery.Start();
         }
        public void RequestMaster_Tick(object state, System.EventArgs e)
        {
            ...类似RequestTankDelivery_Tick
         }


Debug 模式下运行正常,服务启动就报<错误1053:服务并未及时响应启动或控制请求>
<The service did not respond to the start or control request in a timely fashion. >

求大侠们帮我解决!!!!

14 个解决方案

#1


看看  是否缺少资源了

#2


该回复于2010-12-15 13:52:27被版主删除

#3


Debug 模式下运行正常, 服务启动就报

这句话没看懂

#4


引用 3 楼 luosaimingjavaandc 的回复:
Debug 模式下运行正常,服务启动就报

这句话没看懂


在VS2008下运行正常, 编译后使用installutil提交到windows服务,然后启动这个服务,看到上面的错误

#5


引用 4 楼 jiangseraph 的回复:
引用 3 楼 luosaimingjavaandc 的回复:
Debug 模式下运行正常,服务启动就报

这句话没看懂


在VS2008下运行正常, 编译后使用installutil提交到windows服务,然后启动这个服务,看到上面的错误

Debug 没事  程序应该没问题了 
看看是不是windows权限的问题  

#6


困了  休息会  一会再看·····

#7


引用 5 楼 luosaimingjavaandc 的回复:
引用 4 楼 jiangseraph 的回复:

引用 3 楼 luosaimingjavaandc 的回复:
Debug 模式下运行正常,服务启动就报

这句话没看懂


在VS2008下运行正常, 编译后使用installutil提交到windows服务,然后启动这个服务,看到上面的错误

Debug 没事 程序应该没问题了 
看看是不是windows权限的问题


管理员组,不会有问题的

#8


在服务Start的事件中要用线程来启动你的三个计时器

#9


急呀
C#做Windows服务问题,服务启动时报

#10


#11


慢慢来    你们的技术总监 或者项目经理呢  可以向他们请教一下  还有身边的同事   别不好意思  没什么的

#12


多谢 jialine0426, luoSaiMingJavaAndC

知道问题了 我再改一改 试一下

#13


是否 没有执行玩时间 导致再次循环时 之前的没执行玩??

#14


解决了吗?是不是事务没有启动?

#1


看看  是否缺少资源了

#2


该回复于2010-12-15 13:52:27被版主删除

#3


Debug 模式下运行正常, 服务启动就报

这句话没看懂

#4


引用 3 楼 luosaimingjavaandc 的回复:
Debug 模式下运行正常,服务启动就报

这句话没看懂


在VS2008下运行正常, 编译后使用installutil提交到windows服务,然后启动这个服务,看到上面的错误

#5


引用 4 楼 jiangseraph 的回复:
引用 3 楼 luosaimingjavaandc 的回复:
Debug 模式下运行正常,服务启动就报

这句话没看懂


在VS2008下运行正常, 编译后使用installutil提交到windows服务,然后启动这个服务,看到上面的错误

Debug 没事  程序应该没问题了 
看看是不是windows权限的问题  

#6


困了  休息会  一会再看·····

#7


引用 5 楼 luosaimingjavaandc 的回复:
引用 4 楼 jiangseraph 的回复:

引用 3 楼 luosaimingjavaandc 的回复:
Debug 模式下运行正常,服务启动就报

这句话没看懂


在VS2008下运行正常, 编译后使用installutil提交到windows服务,然后启动这个服务,看到上面的错误

Debug 没事 程序应该没问题了 
看看是不是windows权限的问题


管理员组,不会有问题的

#8


在服务Start的事件中要用线程来启动你的三个计时器

#9


急呀
C#做Windows服务问题,服务启动时报

#10


#11


慢慢来    你们的技术总监 或者项目经理呢  可以向他们请教一下  还有身边的同事   别不好意思  没什么的

#12


多谢 jialine0426, luoSaiMingJavaAndC

知道问题了 我再改一改 试一下

#13


是否 没有执行玩时间 导致再次循环时 之前的没执行玩??

#14


解决了吗?是不是事务没有启动?