我现在有一个windows服务,每三分钟timerelapsed运行一次,我想在每天凌晨三点到三点半停止一个webservice,3点半以后再开,可是看日志以后发现没运行。大家看看code:
        private bool isStop = false;        void checkService_Elapsed(object sender, EventArgs e)
        {
            try
            {
                m_myLog.WriteEntry("checkService_Elapsed");
                //if (m_ifChecking)
                //{
                  //  m_myLog.WriteEntry("ifchecking is true");
                   // return;
                //}
                m_myLog.WriteEntry("checkService_Elapsed");
                m_ifChecking = true;
                if (m_MsnService != null)
                {
                    if (!m_MsnService.Ping())
                    {
                        m_myLog.WriteEntry("MSN Force restart");
                        m_MsnService.BeginForceRestart(SendMessageCallback, null);
                    }                }
                if (count != 0)
                {
                    count--;
                    return;
                }
                else 
                {
                    count = 3;
                }
                if (m_QQservice != null)
                {
                    DateTime now = System.DateTime.Now;                    DateTime beginIdelTime = new DateTime(now.Year, now.Month, now.Day, 3, 0, 0);
                    DateTime endIdleTime = new DateTime(now.Year, now.Month, now.Day, 3, 30, 0);
                    //between 3:00 and 3.30
                    if (System.DateTime.Now.CompareTo(beginIdelTime) > 0 && System.DateTime.Now.CompareTo(endIdleTime) < 0)
                        //not stopped
                        if (isStop == false)
                        {
                            m_myLog.WriteEntry("QQ Stop");
                            isStop = true;
                            m_QQservice.StopService();
                            return;
                        }
                        //already stopped
                        else
                        {
                            m_myLog.WriteEntry("QQ Already stopped");
                            return;
                        }
                    if (!m_QQservice.Ping())
                    {
                        m_myLog.WriteEntry("QQ Force restart");
                        m_QQservice.BeginForceRestart(SendMessageCallback, null);
                    }
                }
                if (isStop==true)
                isStop = false;
                m_ifChecking = false;
            }
            catch (Exception e1)
            {
                m_myLog.WriteEntry(e1.Message);
                m_myLog.WriteEntry(e1.StackTrace);            }
        }