Проблема с backgroundWorker
Добрый день.
Возникла проблема с backgroundWorker, то есть он на 60% работает и на 40% не работает, причем все происходит рандомно, к примеру, при 3 попытках запуска работает, а при следующих 4 отключается на первом цикле. В чем может быть проблема?
private void backgroundWorker1_DoWork_1(object sender, DoWorkEventArgs e)
{
bool BeginCycle = true;
while (BeginCycle != false)
{
GetSensorData();
GraphMemory();
if (backgroundWorker1.CancellationPending)
{
BeginCycle = false;
e.Cancel = true;
break;
}
else if (!backgroundWorker1.CancellationPending)
{
BeginCycle = true;
if (VariableVideoController.AdapterCompatibility[Form1.BufIndex] != MainClass.GetSensor.Vendor)
{
this.Invoke(new Action(() => textBox17.Text = "N/A"));
}
try
{
if ( VariableVideoController.AdapterCompatibility[Form1.BufIndex] == MainClass.GetSensor.Vendor)
{
this.Invoke(new Action(() => textBox17.Text = MainClass.GetSensor.GetGPUCore.ToString() + " MHz"));
}
}
catch (Exception Error)
{
return;
}
}
}
}
private void FormVideocardInfo_FormClosed(object sender, FormClosedEventArgs e)
{
backgroundWorker1.CancelAsync();
}
Источник: Stack Overflow на русском