当我尝试停止它时,停止按钮只会出现一秒钟。即使我按下按钮,也会收到一个错误,指出"Windows 无法停止本地计算机上的 'Splive' 服务。该服务未返回错误信息。这可能是内部 Windows 错误或内部服务错误。"
如何处理这个问题才是最好的方法?
static void Main(string[] args)
{
ServiceBase.Run(new Program());
ServiceController service = new ServiceController();
service.ServiceName = "SpLive";
service.Start();
//Sp objSportingbet = new Sp();
//objSportingbet.getListingsFromSp();
}
public Program()
{
this.ServiceName = "SpLive";
}
protected override void OnStart(string[] args)
{
base.OnStart(args);
objSportingbet.getListingsFromSp();
timer1.Elapsed += new ElapsedEventHandler(timer1_Elapsed);
timer1.Interval = 7000;
timer1.Enabled = true;
timer1.Start();
}
protected override void OnStop()
{
base.OnStop();
timer1.Elapsed += new ElapsedEventHandler(timer1_Elapsed);
timer1.Interval = 7000;
timer1.Enabled = false;
timer1.Start();
}
private void timer1_Elapsed(object sender, EventArgs e)
{
ServiceController service = new ServiceController();
service.ServiceName = "Sp";
if (service.Status == ServiceControllerStatus.Stopped)
{
service.Start();
}
if (service.Status == ServiceControllerStatus.Running)
{
service.Stop();
}
timer1.Stop();
}
private void InitializeComponent()
{
//
// Program
//
this.CanPauseAndContinue = true;
this.CanShutdown = true;
}
service.Stop()
应该停止你的服务,如果这段代码在你的服务中,那么这看起来对我来说有些奇怪(请参阅:http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller.stop.aspx)。 - Random Dev