我有我不知道的,我猜大约7秒钟,运行时服务。出于某种原因,服务在第一次运行后停止工作,我无法调试它。它始终在服务管理器上说“开始”,并且我无法在附加进程窗口中找到它。Windows服务的启动,停止,调试问题
当我试图阻止它,停止按钮出现只用一秒钟。即使按下它,我也会在本地计算机上看到一个错误,提示“windows无法停止服务”Splive服务没有返回错误,这可能是内部窗口错误或内部服务错误。“
什么是处理这个问题的最好方法?
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;
}
使用异常处理并记录异常...它会帮助您找到问题 – Damith
取决于具体情况,但是您检查了事件日志吗? – Carsten
我应该添加一个例外OnStart()和OnStop()我没有从GetListingsFromSp() –