저는 C# 응용 프로그램에서 BackgroundWorker
을 만듭니다. DoWork
안에는 몇 개의 웹 서비스가 호출됩니다. 모든 것이 정상적으로 작동하지만 DoWork
프로세스가 완료 되 자마자 응용 프로그램이 응답하지 않습니다. 또한 UI 구성 요소를 BackgroundWorker
에서 업데이트하지 않습니다. 여기 .Net 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
실행 후, 애플리케이션이 응답하지 않는상에서 실행되고있다.
코드 게시! 그것 없이는 잘못 될 수있는 것에 대한 느낌을 얻기가 어렵습니다! – MoonKnight
WPF 또는 양식 응용 프로그램입니까? – ebattulga
이 때 주 스레드에서 어떤 코드가 실행 중입니까? – svick