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);
        }
Exemple #3
0
        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);
            });
        }
Exemple #4
0
 private void ProgressHandler(Windows.Web.Http.HttpProgress progress)
 {
     System.Diagnostics.Debug.WriteLine("Http progress: " + progress.Stage.ToString() + " " + progress.BytesSent.ToString() + "/" + progress.TotalBytesToSend.ToString());
 }