Example #1
0
        public override void Pause()
        {
            if (State != DownloadState.Downloading)
            {
                return;
            }
            //临时文件统一删除,由于无法获得文件大小,每次下载都是一次性的
            Message.TempFilePath = "";
            if (client != null)
            {
                client.CancelAsync();
                client.Dispose();
                client = null;
            }

            if (speedHelper != null)
            {
                speedHelper.Dispose();
                speedHelper = null;
            }

            _prog_.AverageSpeed = _prog_.Speed = _prog_.CurrentValue = 0;
            DownloadProgressChanged(_prog_);
            State = DownloadState.Pause;
        }
Example #2
0
 private void DisposeSpeedHelper()
 {
     if (speedHelper == null)
     {
         return;
     }
     speedHelper.IsEnabled = false;
     speedHelper.Dispose();
     speedHelper = null;
 }
Example #3
0
 public override void Dispose()
 {
     if (State == DownloadState.Disposed)
     {
         return;
     }
     DisposeThreads();
     speedHelper.IsEnabled = false;
     speedHelper.Dispose();
     speedHelper = null;
     StartDisposeTemporaryFile();
     State = DownloadState.Disposed;
 }