为什么我写的windows服务有段时间不用的话,在启动的状态下,不会执行里面的方法,只有重新启动才有反映,这是为什么啊?windows服务里面是多线程的方式,不会有影响吧

解决方案 »

  1.   

    代码如下:protected override void OnStart(string[] args)
            {
                // TODO: 在此处添加代码以启动服务。
                  //以下是从消息队列里取出一条信息
                MSMQLib.MQProfile mqProfile = new MSMQLib.MQProfile();
                mqProfile.Path = @".\private$\czmq";
                mqProfile.Transactional = true;
                mqProfile.MessageType = MsgType.String;
                mqProfile.formatterType = FormatterType.Binary;
                Receiver mqReceive = new Receiver(mqProfile);
                mqReceive.Receiving += new MQReceiveDelegate(ProcessIATA);
                Thread newThread = new Thread(new ThreadStart(mqReceive.AsynReceive));
                newThread.IsBackground = true;
                newThread.Start();
            }        private void ProcessIATA(string iataType, object iata)
            {
                //这里面是相应的操作 
            }        protected override void OnStop()
            {
                // TODO: 在此处添加代码以执行停止服务所需的关闭操作。
            }
        }
    是不是因为没有终止进程,应该怎么改啊??