私はSilverlight4と新しい非同期CTPを使用しています。
private void button1_Click(object sender, RoutedEventArgs e)
{
WebClient wb = new WebClient();
var t = wb.DownloadStringTaskAsync("http://www.google.com");
t.Wait();
}
このコードにより、UIがフリーズします。
一方、このコードは正常に機能します:
private void button1_Click(object sender, RoutedEventArgs e)
{
WebClient wb = new WebClient();
var t = Task.Factory.StartNew(() => Debug.WriteLine("Doing something"));
t.Wait();
}
2つの違いは何ですか?最初の1つがフリーズする原因は何ですか?