C# 中止等待的任务

C# 中止等待的任务,c#,windows-runtime,async-await,C#,Windows Runtime,Async Await,在我的FolderViewModel中有LoadData方法,当页面(FolderPage)被导航到时,会调用该方法。(我在OnNavigatedTo事件处理程序上等待下面显示的方法) 若用户进入页面并立即离开,LoadData仍会提取数据,直到完成。我想在离开此页面时停止LoadData任务。可能吗?你想 通常,这意味着您获取一个CancellationToken,并将其传递给任何其他获取取消令牌的TAP方法。您想要的 通常,这意味着您获取一个CancellationToken并将其传递给任何

在我的FolderViewModel中有
LoadData
方法,当页面(FolderPage)被导航到时,会调用该方法。(我在OnNavigatedTo事件处理程序上等待下面显示的方法)

若用户进入页面并立即离开,LoadData仍会提取数据,直到完成。我想在离开此页面时停止
LoadData
任务。可能吗?

你想

通常,这意味着您获取一个
CancellationToken
,并将其传递给任何其他获取取消令牌的TAP方法。

您想要的


通常,这意味着您获取一个
CancellationToken
并将其传递给任何其他获取取消令牌的TAP方法。

这是WPF、ASP.NET、MVC还是其他?它是WinRT application.data.Service.Load支持取消?uhm dataService是我自己的实现(.Load()返回任务)-是否可以使用取消功能对任务进行编码?这是WPF、ASP.NET、MVC还是其他功能?它是WinRT application.data.Service.Load支持取消功能?uhm dataService是我自己的实现(.Load()返回任务)-是否可以使用取消功能对任务进行编码?任务如何(例如SQLite NET库)哪个不支持CancellationToken?Task.Run()可能是解决方案,但我想它会创建新线程,因此在某些情况下我需要锁、ui线程的调度程序等(我不确定我是否完全理解异步模式)。不可能取消不可取消的任务(
Task.Run
不是解决方案)。如果SQLite不支持取消,那么您只能让命令运行到完成。不支持CancellationToken的任务(例如SQLite net library)如何?Task.Run()可能是解决方案,但我想它会创建新线程,因此在某些情况下我需要锁、ui线程的调度程序等(我不确定我是否完全理解异步模式)。不可能取消不可取消的任务(
Task.Run
不是解决方案)。如果SQLite不支持取消,那么您只能让命令运行到完成。
public async Task LoadData(Folder folderToLoad)
{
    if (folderToLoad != null)
    {
        FolderName = folderToLoad.Name;
        this.Photographies = await this.dataService.Load(folderToLoad);
    }
}