如何终止一个异步方法
本帖最后由 chyun7290 于 2013-10-12 11:08:26 编辑 这个异步方法起到了一个线程的作用,在界面加载时调用,实现处理多条数据,并通知UI更新进度条,现在想在某处杀掉它,如何处理?,我的这种处理方式能不能行的通?
public async static void ProcessData()
{
int persent = 0;
int i = 0;
if (App.LastRecord > 0 )
{
i = App.LastRecord;
}
for (; i < App.AllCount; i++)
{
App.LastRecord++;
await SaveData.WriteData(App.DateList[i]);
persent = (int)((float)(i + 1) * 100 / (float)TotalCount);
_mainPage.Dispatcher.BeginInvoke(delegate()
{
_mainPage.mainProgressbar.Value = persent;
});
}
await Task.Run(() =>
{
if (persent >= 100)
return;
});
_mainPage.Dispatcher.BeginInvoke(delegate()
{
_mainPage.NavigationService.Navigate(new Uri("/ResultPage.xaml", UriKind.Relative));
});
}