나는 다음과 같은 코드를 사용했다.동기화 된 메서드를 비동기 적으로 호출하는 적절한 방법입니까?
handler.Invoke(sender, e);
그러나이 코드의 문제는 그것이 동기적이고 모든 것이 실제로 GUI를 업데이트한다는 것이다. 서버가 완료 될 때까지 기다릴 필요가 없기 때문에 비동기로 만들어야합니다.
이 경우 콜백 메서드가 필요하지 않기 때문에 BeginInvoke 및 EndInvoke를 사용하고 싶지 않습니다.
이 방법이 적합한 대안입니까?
Task.Factory.StartNew(() => handler.Invoke(sender, e));
'처리기'는 어떤 유형입니까? – svick
@svick :'EventHandler ' –
생각하고있는 모든 것이 실제로 작동하지 않습니다. UI 스레드에서 코드를 실행하려면 선택한 UI 라이브러리와 상관없이 Dispatcher.Invoke 또는 Control.BeginInvoke()를 사용하십시오. –