WCF 프록시가있는 샘플 WinForms 앱이 있습니다. 내가 결과를 반환하기 전에이 작업을 반환 할 FromAsync을 사용하고 완료 작업에 기다리고 :Task.Factory.FromAsync가 UI 스레드를 차단하는 이유는 무엇입니까?
private bool Foo() {
var proxy = new MyProxy();
var request = new ProxyRequest();
var task = Task<ReturnType>.Factory.FromAsync<ProxyRequest>(client.BeginCall, client.EndCall, request, null);
task.Wait();
return true;
}
UI 스레드가 차단 형태의 버튼 클릭에서이 메소드를 호출. 왜?
작업 제거. 여전히 UI 스레드를 차단합니다. –
@JonasStawski 'task.Wait'을 제거했을 때 사용중인 코드를 게시하는 것이 좋습니다. 게시 한 코드에는 명백한 결함이 있습니다. 분명히 함께 작업하는 코드에는 다른 코드가 있습니다. –
다른 질문을 수행하려고 시도하는 내용을 게시합니다. –