在C#中處理Silverlight 3.0中的異步操作,可以使用async
和await
關鍵字。首先,需要在方法前加上async
關鍵字,然后在需要等待的操作前加上await
關鍵字。這樣可以讓代碼在等待操作完成時不阻塞UI線程,提高應用程序的響應性。
示例代碼:
using System;
using System.Net;
using System.Windows;
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
}
private async void Button_Click(object sender, RoutedEventArgs e)
{
string result = await DownloadStringAsync("https://www.example.com");
MessageBox.Show(result);
}
private async Task<string> DownloadStringAsync(string url)
{
using (WebClient client = new WebClient())
{
return await client.DownloadStringTaskAsync(new Uri(url));
}
}
}
在這個示例中,我們創建了一個名為DownloadStringAsync
的方法,它使用WebClient
異步下載一個字符串。在Button_Click
事件處理器中,我們使用await
關鍵字等待DownloadStringAsync
方法完成,然后將結果顯示在一個消息框中。