코드 :스레드 - ResetEvent 및 웹 클라이언트
public string GetTextWebRequest(string url)
{
WebClient cl = new WebClient();
cl.DownloadStringCompleted += new DownloadStringCompletedEventHandler(cl_DownloadStringCompleted);
cl.DownloadStringAsync(new Uri(url));
are.WaitOne();
return _textdata;
}
void cl_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
_textdata = e.Result;
are.Set();
}
왜 내가 'DownloadString'방법을 사용하지 않는 건가요? 컴팩트 프레임 워크를 사용하고 있기 때문에 비동기가 유일한 옵션입니다.
메인 (호출) 스레드가 차단되면 어쨌든 내 문제는 'DownloadStringCompleted'가 호출되지 않습니다. 따라서 절대로 차단 해제되지 않습니다.
내 생각에 WebClient가 호출 스레드에서 'DownloadStringCompleted'를 호출한다는 것은 의미가 없습니다.
조금 길어졌습니다.
아, 나는 그렇게 생각했습니다. 확인을위한 감사합니다. – Peanut