본문 바로가기

개발세발

C# 크로스 스레드 작업이 잘못되었습니다. 뭐지.


다른 쓰레드에서 컨트롤을 호출하려고 할 때 예외가 발생하는 듯.

이 예외는 디버깅모드에서만 나타난다고 한다.


원래 알았는데 군대갔다왔더니 싸그리 까먹어서 메모함.



나는 백그라운드워커에서 발생했으니 백웤관련된거만 쓴다. 나머지는 맨 아래 문서 참조를 확인하길.


처리하는 방법


1. 폭풍무시

CheckForIllegalCrossThreadCalls = false;


2. 백웤 끝나는 이벤트에 함수 바인딩

백그라운드워커 이벤트중에 RunWorkerCompleted 가 있는데, 여기에서 함수 처박던지 뭐 컨트롤 불러오던지.


3. 문서를 참조

http://msdn.microsoft.com/ko-kr/library/ms171728.aspx