我有一个背景工作者。当它启动时,它会调用一个方法将记录从数据库发送到另一个 Web 服务。
问题是我做了一个停止按钮来停止发送作业,但它不起作用。
我尝试处理 backgroundworker 或 CancelAsync 但该方法仍在运行(我的应用程序是 Windows 窗体应用程序,所以我知道该方法仍在运行)。任何人都可以给我一个解决方案吗?太感谢了!
我的代码:
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
Send();
}
停止按钮
private void btnStop_Click(object sender, EventArgs e)
{
try
{
backgroundWorker1.CancelAsync();
backgroundWorker1.Dispose();
}
catch (Exception ex)
{
Global._logger.Info(ex.Message + ex.Source);
ShowError(ex.Message);
}
}
注意:方法 Send() 将在检查 DB 后调用另一个方法发送记录。