Code:
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();
}
Warum verwende ich nicht die Methode "DownloadString"? Weil ich das kompakte Framework verwende und async die einzige Option ist, die ich habe.
Wie auch immer, mein Problem ist, dass "DownloadStringCompleted" nicht aufgerufen wird, wenn der Hauptthread (Aufruf) blockiert ist. Und wird daher nie wieder freigegeben.
Mein einziger Gedanke ist, dass der WebClient 'DownloadStringCompleted' auf dem aufrufenden Thread aufruft, was keinen Sinn macht?
Ich bin etwas ratlos.