C# Windows 8应用程序:处理菜单调用长时间http请求

C# Windows 8应用程序:处理菜单调用长时间http请求,c#,windows-8,microsoft-metro,threadpool,C#,Windows 8,Microsoft Metro,Threadpool,在我的应用程序中,我有一个菜单,可以加载一个发出http请求以检索数据的页面。 此http请求通常持续约500毫秒或更长时间 现在,我使用了一个异步方法,它很好地显示了加载过程中的进程 当我开始单击一行中的几个菜单输入时,问题就开始了,比如在1秒内单击5个项目 =>页面一个接一个地加载 我希望在用户每次选择新的菜单输入时终止当前进程并启动新进程 我已经找到了那个线程。中止不是一个好的做法。这是我的第一个想法 我还发现我可能需要一个任务。但我无法正确设置取消事件,这与示例中不同,他们只是循环并决定

在我的应用程序中,我有一个菜单,可以加载一个发出http请求以检索数据的页面。 此http请求通常持续约500毫秒或更长时间

现在,我使用了一个异步方法,它很好地显示了加载过程中的进程

当我开始单击一行中的几个菜单输入时,问题就开始了,比如在1秒内单击5个项目 =>页面一个接一个地加载

我希望在用户每次选择新的菜单输入时终止当前进程并启动新进程

我已经找到了那个线程。中止不是一个好的做法。这是我的第一个想法 我还发现我可能需要一个任务。但我无法正确设置取消事件,这与示例中不同,他们只是循环并决定引发取消事件,我有一个http请求正在进行

有什么好的做法吗


太多了

将取消令牌传递到http请求中,当您想要取消请求时,只需取消cancellationtokensource.Thx循环和Christian Fischer的方法!问题是:在我的例子中,我使用的是一个无法修改的DLL,它处理http请求过程。实现的方法都不允许我使用cancellationtokensource。我意识到我以前没提过,我的错。