当计时器回调函数中发生 SQL 连接错误时停止 C# 窗口服务
本文关键字:错误 服务 窗口 连接 SQL 回调 计时器 函数 | 更新日期: 2023-09-27 17:56:53
我是线程编程的新手,最近分配给我一个使用线程的问题。我需要您的帮助以最佳方式解决问题。
有一个窗口服务,它创建线程和函数StartScheduler被调用。此函数进一步创建一个线程,并调用函数 StartJob。在 StartJob 函数中,创建 TimerCallback 对象,并每 50 秒调用一次函数 LoadandRunJob 函数来加载和执行作业。
注意:上面指定的每个线程都是在单独的类中创建的。所以有多个类。
我的要求是在sql服务器连接断开并且在函数LoadAndRunJob中发生错误时停止窗口服务。
示例代码
private void StartJob ()
{
_timerCallback = new TimerCallback(LoadAndRunJob);
//Schedule the requery to happen every 50 seconds.
_timer = new Timer(_timerCallback, null, 50000, 50000);
}
private void LoadAndRunJob(Object state)
{
try
{
//Here is the code to load and execute the jobs
}
catch
{
//Require code here to stop the service
}
}
我尝试的一件事是在捕获错误后引发事件。并停止了事件处理程序中的服务。我不知道这是否是最好的处理方式。
也许这会有所帮助:
catch
{
new System.ServiceProcess.ServiceController("YourServiceName").Stop();
}