나는 작업자 스레드에서 일부 작업을 처리하는 응용 프로그램이 있습니다. Dowork 함수에서 DAL 함수를 호출합니다. DAL 결과 (성공 또는 실패)에 따라 추가로 진행할 것입니다. 아래 예제 코드는 구현할 방법입니다. 당신이 backgroundWorker_DoWork
방법 e.Result
을 할당하지 않는 것처럼작업자 스레드 오류 및 결과 처리?
MyFunction()
{
this.backgroundWorker = new BackgroundWorker();
this.backgroundWorker.DoWork += new DoWorkEventHandler(backgroundWorker_DoWork);
this.backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker_RunWorkerCompleted);
this.backgroundWorker.RunWorkerAsync();
}
void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if(e.Error!=null)
{
//operation fail
}
else if(e.Result!=null)
{
//operation succeed
}
}
void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
int result=GetResult(10,0);
int result2=GetResult(10,5);
}
int GetResult(int number1,int number2)
{
return a/b;
}
그럼 궁금한 점은 무엇입니까? 당신은 어떤 문제에 직면하고 있습니까, 뭔가 잘못 됐나요? –
회신을 위해 Thnx.'backgroundWorker_RunWorkerCompleted'을 구현하지 못했습니다. do worker 스레드의 결과를 사용하고 싶습니다. 회신 해 주셔서 감사합니다. – madan