Hi,
I
have developed a windows service which uses a timer...to run the SQL
Server for exactly 30min.If sqlserer service is stopped it starts the
service and stops it after 30min and vice versa.
I have written the following code:
public partial class LDMSN : ServiceBase
{
private Timer _timer;
private bool _IsStarted;
private int TimerValue=60000;
public LDMSN()
{
InitializeComponent();
}
private void ProcessMessage(object sender, System.Timers.ElapsedEventArgs e)
{
if (_IsStarted)
{
_timer.Stop();
System.ServiceProcess.ServiceController controller = new ServiceController();
controller.MachineName = "."
controller.ServiceName = "MSSQLSERVER";
string status = controller.Status.ToString();
if (status == "started")
{
controller.Stop();
EventLog.WriteEntry("MSSQLSERVER stopped");
}
if (status == "stopped")
{
controller.Start();
EventLog.WriteEntry("MSSQLSERVER started");
}
_timer.Start();
}
}
protected override void OnStart(string[] args)
{
EventLog.WriteEntry("LDMSN started");
_timer = new Timer();
_timer.Interval = TimerValue; //every 1 min
_timer.Elapsed += new ElapsedEventHandler(this.ProcessMessage);
}
protected override void OnStop()
{
_IsStarted = false;
EventLog.WriteEntry("LDMSN stopped");
}
}
But the service is not working..it is just writing into log
entry.But not doing what it is supposed to do.please help me regarding
this..
thanks.