我现在有一个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); }
}
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); }
}
if (count != 0)
{
count--;
return;
}
这里运行了
来者有份