/// <summary> /// 开始下载 和 上传 /// </summary> /// <param name="cloudid"></param> /// <param name="source"></param> /// <param name="target"></param> /// <param name="operaType"></param> /// <returns></returns> public static Task <bool> Start(Guid cloudid, FileInformation source, string target, OperaType operaType) { var cloud = GetCloud(cloudid); RefreshCloudToken(cloudid); var cancel = new CancellationTokenSource(); var token = cancel.Token; var result = Task.Factory.StartNew(() => { token.ThrowIfCancellationRequested(); return(cloud?.Start(source, target, operaType)); }, token); if (result.Result.Result) { TaskManagement.AddTask(Path.Combine(source.FilePath, source.FileName), result, cancel, target, 0, cloudid); return(result.Result); } return(result.Result); }
/// <summary> /// 暂停下载 /// </summary> /// <param name="cloudid"></param> /// <param name="taskid"></param> public static void Pause(Guid cloudid, string taskid) { var task = TaskManagement.GetOneTask(Guid.Parse(taskid)); task.CancelSignal.Cancel(); }