private static void ProgressHandler(Windows.Web.Http.HttpProgress progress) { Debug.WriteLine("StageField : " + progress.Stage.ToString()); Debug.WriteLine("RetriesField : " + progress.Retries.ToString(CultureInfo.InvariantCulture)); Debug.WriteLine("BytesSentField : " + progress.BytesSent.ToString(CultureInfo.InvariantCulture)); Debug.WriteLine("BytesReceivedField : " + progress.BytesReceived.ToString(CultureInfo.InvariantCulture)); ulong totalBytesToSend = 0; if (progress.TotalBytesToSend.HasValue) { totalBytesToSend = progress.TotalBytesToSend.Value; Debug.WriteLine("TotalBytesToSendField : " + progress.TotalBytesToSend.Value); } else { Debug.WriteLine("TotalBytesToSendField : unknown"); } ulong totalBytesToReceive = 0; if (progress.TotalBytesToReceive.HasValue) { totalBytesToReceive = progress.TotalBytesToReceive.Value; Debug.WriteLine("totalBytesToReceive : " + totalBytesToReceive.ToString(CultureInfo.InvariantCulture)); } else { Debug.WriteLine("TotalBytesToReceiveField : unknown"); } double requestProgress = 0; if (progress.Stage == Windows.Web.Http.HttpProgressStage.SendingContent && totalBytesToSend > 0) { requestProgress = progress.BytesSent * 50 / totalBytesToSend; } else if (progress.Stage == Windows.Web.Http.HttpProgressStage.ReceivingContent) { // Start with 50 percent, request content was already sent. requestProgress += 50; if (totalBytesToReceive > 0) { requestProgress += progress.BytesReceived * 50 / totalBytesToReceive; } } else { return; } }
private void HttpProgress_ProgressChanged(object sender, Windows.Web.Http.HttpProgress e) { var key = (IProgress <Windows.Web.Http.HttpProgress>)sender; HttpProgress newProgress = new HttpProgress() { BytesReceived = e.BytesReceived, BytesSent = e.BytesSent, Retries = e.Retries, Stage = (HttpProgressStage)Enum.Parse(typeof(HttpProgressStage), e.Stage.ToString()), TotalBytesToReceive = e.TotalBytesToReceive, TotalBytesToSend = e.TotalBytesToSend }; var value = progresses[key]; value.Report(newProgress); }
private async void OnServerHttpProgressEvent(Windows.Web.Http.HttpProgress progress) { await mainPage.CurrentDispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => { ulong totalToReceive = 0; if (progress.TotalBytesToReceive != null) { totalToReceive = (ulong)progress.TotalBytesToReceive / 1024; } ulong totalToSend = 0; if (progress.TotalBytesToSend != null) { totalToSend = (ulong)progress.TotalBytesToSend / 1024; } syncStateDialog.Label = label + "\n" + String.Format(SYNC_Progress, progress.BytesReceived / 1024 + "/" + totalToReceive, progress.BytesSent / 1024 + "/" + totalToSend); }); }
private void ProgressHandler(Windows.Web.Http.HttpProgress progress) { System.Diagnostics.Debug.WriteLine("Http progress: " + progress.Stage.ToString() + " " + progress.BytesSent.ToString() + "/" + progress.TotalBytesToSend.ToString()); }