如果用户从页面按返回键,是否可以取消HttpClient GET web request in Windows 8.我正在寻找取消我的 Web 请求的解决方案。在我的应用程序中,我使用一个static class用于创建 Web 请求。
我正在使用的 AlosMVVM Light和static viewmodels应用程序内部。
在当前情况下,即使用户按下后退按钮,vm保持活动和回调到达并在VM.
所以我正在寻找一种解决方案来取消背压请求。
如果用户从页面按返回键,是否可以取消HttpClient GET web request in Windows 8.我正在寻找取消我的 Web 请求的解决方案。在我的应用程序中,我使用一个static class用于创建 Web 请求。
我正在使用的 AlosMVVM Light和static viewmodels应用程序内部。
在当前情况下,即使用户按下后退按钮,vm保持活动和回调到达并在VM.
所以我正在寻找一种解决方案来取消背压请求。
试试这个
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
await HttpGetRequest();
}
public CancellationTokenSource cts = new CancellationTokenSource();
private async Task HttpGetRequest()
{
try
{
DateTime now = DateTime.Now;
var httpClient = new HttpClient();
var message = new HttpRequestMessage(HttpMethod.Get, "https://itunes.apple.com/us/rss/toppaidapplications/limit=400/genre=6000/json");
var response = await httpClient.SendAsync(message, cts.Token);
System.Diagnostics.Debug.WriteLine("HTTP Get request completed. Time taken : " + (DateTime.Now - now).TotalSeconds + " seconds.");
}
catch (TaskCanceledException)
{
System.Diagnostics.Debug.WriteLine("HTTP Get request canceled.");
}
}
private void btnCancel_Click(object sender, RoutedEventArgs e)
{
cts.Cancel();
}