コード例 #1
0
 private void ProgressMessageHandlerOnHttpReceiveProgress(object sender, HttpProgressEventArgs e)
 {
     Dispatcher.BeginInvoke(new Action(() =>
     {
         ImageLoadProgressBar.Value = e.ProgressPercentage;
     }));
 }
コード例 #2
0
ファイル: Request.cs プロジェクト: zli69/ChartControls
 private void OnHttpRequestPrgogressing(object sender, HttpProgressEventArgs e)
 {
     if (OnProgressing != null)
     {
         OnProgressing(this, new ProgressEventArgs(e.Offset, e.Total, e.LatestSize));
     }
 }
コード例 #3
0
        private static void HttpSendProgress(object sender, HttpProgressEventArgs e)
        {
            HttpRequestMessage request = sender as HttpRequestMessage;

            // Do something with the event
            // e.ProgressPercentage, e.TotalBytes, e.BytesTransferred
        }
コード例 #4
0
ファイル: FormApp.cs プロジェクト: Holovin/Spac_Uploader
 private void VProgressBarCurrentUpdate(HttpProgressEventArgs value)
 {
     // Dont care about long > int convert, because we have 100MB limit upload
     if (value.TotalBytes != null)
     {
         VProgressBarCurrentUpdate(value.ProgressPercentage, (int)value.BytesTransferred, (int)value.TotalBytes);
     }
 }
コード例 #5
0
 private void OnDownloadProgress(object sender, HttpProgressEventArgs e)
 {
     //Console.WriteLine($"{e.ProgressPercentage}% {e.BytesTransferred} of {e.TotalBytes}");
     if (DownloadProgressChanged != null)
     {
         DownloadProgressChanged(sender, e);
     }
 }
コード例 #6
0
ファイル: VkUploader.cs プロジェクト: baguwka/vkpostorganizer
        /// <summary>
        /// Reads incoming content async with progress report.
        /// </summary>
        private static async Task <DownloadPhotoInfo> readContentStreamAsync(IProgress <HttpProgressEventArgs> progress, CancellationToken ct, HttpResponseMessage response)
        {
            logger.Debug($"Асинхронное чтение контента из потока.");

            if (response.Content.Headers.ContentLength == null)
            {
                const string msg = "У загружаемого контента отсутствуют заголовки (Headers.ContentLenght == null).";
                logger.Error(msg);

                return(new DownloadPhotoInfo {
                    Successful = false,
                    ErrorMessage = msg
                });
            }

            var totalBytes = response.Content.Headers.ContentLength.Value;

            using (var contentStream = await response.Content.ReadAsStreamAsync()) {
                using (var stream = new MemoryStream(8192)) {
                    var totalRead    = 0L;
                    var buffer       = new byte[8192];
                    var isMoreToRead = true;

                    do
                    {
                        if (ct.IsCancellationRequested)
                        {
                            break;
                        }

                        var read = await contentStream.ReadAsync(buffer, 0, buffer.Length, ct);

                        if (read == 0)
                        {
                            isMoreToRead = false;
                        }
                        else
                        {
                            await stream.WriteAsync(buffer, 0, read, ct);

                            totalRead += read;

                            var progressPercent = (((float)totalRead / (float)totalBytes) * 100);
                            var e = new HttpProgressEventArgs((int)progressPercent, null, totalRead, totalBytes);
                            progress.Report(e);
                        }
                    } while (isMoreToRead);

                    var bytes = stream.ToArray();

                    return(new DownloadPhotoInfo {
                        Successful = true,
                        Photo = bytes
                    });
                }
            }
        }
コード例 #7
0
 private void onProgressChanged(object sender, HttpProgressEventArgs e)
 {
     UploadProgress        = e.ProgressPercentage;
     BytesTransferedString = SizeHelper.Suffix(e.BytesTransferred);
     if (e.TotalBytes != null)
     {
         BytesTotalString = SizeHelper.Suffix(e.TotalBytes.Value);
     }
 }
コード例 #8
0
 //進行檔案下載事件
 private static void _progressHandler_HttpReceiveProgress(object sender, HttpProgressEventArgs e)
 {
     Console.SetCursorPosition(0, 0);
     Console.WriteLine("download progress (byte)");
     Console.WriteLine("---------------------------");
     Console.WriteLine("{0}/{1}", e.BytesTransferred, e.TotalBytes);
     Console.WriteLine("{0} %", e.ProgressPercentage);
     Console.WriteLine("---------------------------");
 }
コード例 #9
0
 private void UpdateProgress(object sender, HttpProgressEventArgs e)
 {
     Dispatcher.Invoke(() =>
     {
         if (e.TotalBytes.HasValue)
         {
             progressBar.Value = (100 * e.BytesTransferred) / e.TotalBytes.Value;
         }
     });
 }
コード例 #10
0
 public void ReceivedProgressHandler(object sender, HttpProgressEventArgs e)
 {
     // you can uses e.ProgressPercentage but this is calculated based on content length
     // http header which is very much ignored nowadays
     if (_lastRecoredBytesTransferred != 0 && e.BytesTransferred < (_lastRecoredBytesTransferred + _expectedBytesTransferred))
     {
         throw new Exception("Too Slow, Abort !");
     }
     _lastRecoredBytesTransferred = e.BytesTransferred;
 }
コード例 #11
0
        private void HttpSendProgress(object sender, HttpProgressEventArgs e)
        {
            HttpRequestMessage request = sender as HttpRequestMessage;

            ProgressBar.Dispatcher.BeginInvoke(
                DispatcherPriority.Normal, new DispatcherOperationCallback(delegate
            {
                ProgressBar.Value = e.ProgressPercentage;
                return(null);
            }), null);
        }
コード例 #12
0
 private void ReportProgress(object sender, HttpProgressEventArgs e)
 {
     if (System.Windows.Threading.Dispatcher.CurrentDispatcher.CheckAccess())
     {
         double x, y;
         x = e.BytesTransferred;
         y = e.TotalBytes.GetValueOrDefault(1);
         double percentage = x / y * 100;
         this.UploadPercentage = percentage; //Math.Round(percentage,0);
     }
     NotifyOfPropertyChange(() => this.UploadPercentage);
 }
コード例 #13
0
        private void Handler_HttpReceiveProgress(object sender, HttpProgressEventArgs e)
        {
            if (Size == null)
            {
                Size = (int)e.TotalBytes;
            }

            Received = (int)e.BytesTransferred;

            //触发事件
            ReceivedProgress?.Invoke(this.Received, this.Size);
        }
コード例 #14
0
        protected override async Task GetAndSaveFile(string filename)
        {
            var progressEventArgs = new HttpProgressEventArgs(0, null, 0, ExternalUrl.Length);

            DownloadProgressTracker(this, progressEventArgs);

            using (var textWriter = new StreamWriter(filename))
            {
                var fileContent = ShortcutFileHelper.FromTitleAndUrl(Title, ExternalUrl);
                await textWriter.WriteAsync(fileContent);

                progressEventArgs = new HttpProgressEventArgs(100, null, fileContent.Length, fileContent.Length);
                DownloadProgressTracker(this, progressEventArgs);
            }
        }
コード例 #15
0
        static void ProgressEventHandler(object sender, HttpProgressEventArgs eventArgs)
        {
            // The sender is the originating HTTP request
            HttpRequestMessage request = sender as HttpRequestMessage;

            // Write different message depending on whether we have a total length or not
            string message;

            if (eventArgs.TotalBytes != null)
            {
                message = String.Format("  Request {0} uploaded {1} of {2} bytes ({3}%)",
                                        request.RequestUri, eventArgs.BytesTransferred, eventArgs.TotalBytes, eventArgs.ProgressPercentage);
            }
            else
            {
                message = String.Format("  Request {0} uploaded {1} bytes",
                                        request.RequestUri, eventArgs.BytesTransferred, eventArgs.TotalBytes, eventArgs.ProgressPercentage);
            }

            // Write progress message to console
            System.Diagnostics.Trace.TraceInformation(message);
        }
コード例 #16
0
        public static void TickFile(DownloadableLink link, HttpProgressEventArgs progress)
        {
            var childProgressBar = ChildrenProgressBars[link];

            if (progress.TotalBytes != null)
            {
                childProgressBar.MaxTicks = (int)progress.TotalBytes;
            }

            // download size progress
            var transferred   = (int)progress.BytesTransferred;
            var max           = childProgressBar.MaxTicks;
            var bytesProgress = $"{FormatSize(transferred)} / {FormatSize(max)}";

            // eta
            var eta = CalculateEta(transferred, max);

            _timeByteBpsStamp.Update(DateTime.Now, transferred);

            var message = $"{bytesProgress} | ETA: {eta} | {link.Name}";

            childProgressBar.Tick(transferred, message);
        }
コード例 #17
0
        private void ReportProgress(double done, double max)
        {
            var progressEventArgs = new HttpProgressEventArgs((int)done, null, (long)done, (long?)max);

            DownloadProgressTracker(this, progressEventArgs);
        }
コード例 #18
0
 private static void SendProgressHandler(object sender, HttpProgressEventArgs e)
 {
     LogProgress("Sending:", e);
 }
コード例 #19
0
ファイル: GameServerClientNew.cs プロジェクト: wurunduk/SI
 private void MessageHandler_HttpSendProgress(object sender, HttpProgressEventArgs e) => UploadProgress?.Invoke(e.ProgressPercentage);
コード例 #20
0
 private void OnReceiveProgressChanged(object sender, HttpProgressEventArgs e)
 {
     Progress = e.ProgressPercentage / 2 + 50;
     Console.WriteLine($"Progreso {e.ProgressPercentage / 2 + 50}");
     StateHasChanged();
 }
コード例 #21
0
 private void OnSendProgressChanged(object sender, HttpProgressEventArgs e)
 {
     Progress = e.ProgressPercentage / 2;
     Console.WriteLine("Progreso");
     StateHasChanged();
 }
コード例 #22
0
 private static void LogProgress(string prefix, HttpProgressEventArgs e)
 {
     Logger.Info($"{prefix} ({e.ProgressPercentage}%) Transfered: {e.BytesTransferred}, Total: {e.TotalBytes}");
 }
コード例 #23
0
 private static void ReceiveProgressHandler(object sender, HttpProgressEventArgs e)
 {
     LogProgress("Receive:", e);
 }
コード例 #24
0
ファイル: FormApp.cs プロジェクト: Holovin/Spac_Uploader
 private static void SendProgress(object sender, HttpProgressEventArgs e)
 {
     Debug.WriteLine("Net.Send: " + e.BytesTransferred + " / total: " + e.TotalBytes + ".");
 }
コード例 #25
0
ファイル: FormApp.cs プロジェクト: Holovin/Spac_Uploader
 private static void RecvProgress(object sender, HttpProgressEventArgs e)
 {
     Debug.WriteLine("NET.Recive: " + e.BytesTransferred + " / total: " + e.TotalBytes + ".");
 }
コード例 #26
0
 public void Handler(object sender, HttpProgressEventArgs eventArgs)
 {
     WasInvoked = true;
     Sender     = sender;
     EventArgs  = eventArgs;
 }
コード例 #27
0
 public void Handler(object sender, HttpProgressEventArgs eventArgs)
 {
     WasInvoked = true;
     Sender = sender;
     EventArgs = eventArgs;
 }
コード例 #28
0
 public static void ProgressHandler(object sender, HttpProgressEventArgs e)
 {
     LogToConsole("#", false);
 }
コード例 #29
0
 protected void DownloadProgressTracker(object sender, HttpProgressEventArgs e)
 {
     ProgressBarUtil.TickFile(this, e);
 }
コード例 #30
0
ファイル: Uploader.cs プロジェクト: SOFTSEER/LXtory
 private static void HttpSendProgress(object sender, HttpProgressEventArgs e)
 {
     ProgressBarUpdate(e.ProgressPercentage);
 }
コード例 #31
0
 public void SendProgressHandler(object sender, HttpProgressEventArgs e)
 {
     // write stuff to handle here when sending data (mainly for post or uploads)
     Console.WriteLine("Sent data ...");
 }