【问题标题】:How to handle Events for "HttpClient" in Windows Phone 8.1如何在 Windows Phone 8.1 中处理“HttpClient”事件
【发布时间】:2015-05-23 19:53:49
【问题描述】:

下面的代码在 WP8 中工作,但是当进入 WP8.1 时,事件没有被触发,处理事件的解决方案是什么。

HttpClient wb = new HttpClient();
wb.DownloadProgressChanged += new DownloadProgressChangedEventHandler(wcDownloadList_DownloadProgressChanged);
if (itm.LinkUrl.StartsWith("http://www.youtube.com/watch?v="))
{
    wb.OpenReadCompleted += new OpenReadCompletedEventHandler(wcYoutubeReadCompleted_OpenReadCompleted);
}
else
{
    wb.OpenReadCompleted += new OpenReadCompletedEventHandler(wcDownloadList_OpenReadCompleted);
}

【问题讨论】:

  • 开始下载的代码在哪里?
  • Hello Peter Torr 首先如何为 httpclient 触发事件
  • k 但是 OpenReadCompleted 事件呢

标签: c# windows-phone-8.1


【解决方案1】:

我认为你应该使用WebClient 而不是HttpClient

WebClient client = new WebClient ();
    Uri uri = new Uri(address);

    // Specify that the DownloadFileCallback method gets called 
    // when the download completes.
    client.DownloadFileCompleted += new AsyncCompletedEventHandler (DownloadFileCallback2);
    // Specify a progress notification handler.
    client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressCallback);

事件处理程序

private static void DownloadProgressCallback(object sender, DownloadProgressChangedEventArgs e)
{
// Displays the operation identifier, and the transfer progress.
Console.WriteLine("{0}    downloaded {1} of {2} bytes. {3} % complete...", 
    (string)e.UserState, 
    e.BytesReceived, 
    e.TotalBytesToReceive,
    e.ProgressPercentage);
}

【讨论】:

  • WP8.1 WinRt 不支持WebClient
【解决方案2】:

HttpClient 不支持进度报告

最好的方法是使用Windows.Web.Http.HttpClient 而不是System.Net.Http.HttpClient。第一个支持进步。

我在HttpClientmsdn 中找不到活动DownloadProgressChanged

尝试将webclient 用于DownloadProgressDifference between httpclient vs webclient

如果您仍然需要 httpclient 来进行进度报告,您需要自己实施 .Progress Bar with HttpClient

【讨论】:

  • Hello Rohit 和 Eldho webclient 在 WP8.1 WinRt 应用程序中不受支持。
  • @Chinni 我们建议用于 Httpclient。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-05
  • 1970-01-01
相关资源
最近更新 更多