Я создаю BackgroundWorker
в своем приложении C #. Внутри DoWork
мало веб-сервисов называется. Все работает нормально, но как только процесс DoWork
завершен, приложение перестает отвечать на запросы. А также, я не обновляю ни один компонент пользовательского интерфейса с BackgroundWorker
.
Вот код, выполняемый в DoWork
private void bwNQUpdate_DoWork(object sender, DoWorkEventArgs e)
{
int nStatusCode = 0;
QDetails[] pQDetails = null;
string queueName = "test_queue";
int nQLength = cMezeoFileCloud.NQGetLength(ServiceUrl, queueName, ref nStatusCode);
if (nQLength > 0)
pQDetails = cFileCloud.GetData(ServiceUrl, queueName, nQLength, ref nStatusCode);
if (pQDetails != null)
{
for (int n = 0; n < pQDetails[0].nTotalQ; n++)
{
UpdateFromNQ(pNQDetails[n]);
cFileCloud.QValue(ServiceUrl , queueName, 1, ref nStatusCode);
}
}
}
А на RunWorkerCompleted
private void bwNQUpdate_RunWorkerCompleted(object sender, ProgressChangedEventArgs e)
{
MessageBox.Show("Download completed.");
}
После выполнения RunWorkerCompleted
приложение не отвечает.