• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# BackgroundTransferRequest类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中BackgroundTransferRequest的典型用法代码示例。如果您正苦于以下问题:C# BackgroundTransferRequest类的具体用法?C# BackgroundTransferRequest怎么用?C# BackgroundTransferRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



BackgroundTransferRequest类属于命名空间,在下文中一共展示了BackgroundTransferRequest类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Create

        public static TransferMonitorViewModel Create(BackgroundTransferRequest request)
        {
            var vm = new TransferMonitorViewModel(new TransferMonitor(request));
            vm.CreateJobData(request);

            return vm;
        }
开发者ID:gep13,项目名称:Emby.WindowsPhone,代码行数:7,代码来源:TransferMonitorViewModel.cs


示例2: Button_Click_1

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            string mp3uri = "http://www.nmgwxc.com/m/yldcj.mp3";

            if (BackgroundTransferService.Requests.Count() >= 25)
            {
                MessageBox.Show("已经超过最大请求数量,请稍后");
                return;
            }
            if (BackgroundTransferService.Requests.Any(p => p.RequestUri.AbsoluteUri == mp3uri))
            {
                MessageBox.Show("文件已经在下载的请求中");
                return;
            }
            BackgroundTransferRequest transferRequest = new BackgroundTransferRequest(new Uri(mp3uri, UriKind.Absolute));
            transferRequest.Method = "GET";
            transferRequest.TransferPreferences = TransferPreferences.None;
            transferRequest.TransferStatusChanged += transferRequest_TransferStatusChanged;
            transferRequest.TransferProgressChanged += transferRequest_TransferProgressChanged;
            transferRequest.Tag = "yldcj.mp3";
            transferRequest.DownloadLocation = new Uri("shared/transfers/yldcj.mp3", UriKind.Relative);
            try
            {
                BackgroundTransferService.Add(transferRequest);
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }
        }
开发者ID:peepo3663,项目名称:WindowsPhone8,代码行数:30,代码来源:MainPage.xaml.cs


示例3: PersistRequestToStorage

 private void PersistRequestToStorage(BackgroundTransferRequest request)
 {
     var requestUri = request.RequestUri;
     var requestUriHash = CryptoUtils.GetHash(requestUri.ToString());
     var trackerDir = FileUtils.GetDowloadTrackerDirectory(false, true);
     FileUtils.WriteFile(string.Format("{0}\\{1}", trackerDir, requestUriHash), request.RequestId);
 }
开发者ID:hubaishan,项目名称:quran-phone,代码行数:7,代码来源:WindowsPhoneDownloadManager.cs


示例4: Download_Click

        private void Download_Click(object sender, EventArgs e)
        {
            try
            {
                // Sichergehen, dass der Download-Ordner existiert
                using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
                {
                    if (!isoStore.DirectoryExists(TransfersFolder))
                    {
                        isoStore.CreateDirectory(TransfersFolder);
                    }
                }

                var request = new BackgroundTransferRequest(new Uri("http://ralfe-software.net/Wildlife.wmv", UriKind.Absolute))
                    {
                        DownloadLocation = new Uri(DownloadLocation, UriKind.Relative),
                        Method = "GET",
                        TransferPreferences = TransferPreferences.AllowBattery
                    };
                BackgroundTransferService.Add(request);

                DownloadButton.IsEnabled = false;
                DeleteButton.IsEnabled = true;
                UpdateUI();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
开发者ID:GregOnNet,项目名称:WP8BookSamples,代码行数:30,代码来源:MainPage.xaml.cs


示例5: ResumeOneDownload

        /// <summary>
        /// 继续一个下载任务
        /// </summary>
        /// <param name="info"></param>
        protected bool ResumeOneDownload(DownloadInfo info)
        {
            if (string.IsNullOrEmpty(info.RequestId)) return false;

            var transferRequest = BackgroundTransferService.Find(info.RequestId);
            if (transferRequest != null
                && transferRequest.TransferStatus == TransferStatus.Transferring)
            {
                try
                {
                    _isDownloading = true;
                    info.DownloadState = DownloadState.Downloading;
                    HandleDownload(transferRequest, info, false);
                    return true;
                }
                catch (Exception ex)
                {
                    DownloadFailture(info, ex.Message);
                    _isDownloading = false;
                }
            }
            else
            {
                _isDownloading = true;
                info.DownloadState = DownloadState.Downloading;
                transferRequest = new BackgroundTransferRequest(new Uri(info.DownloadUri), new Uri(info.LocalFileName, UriKind.Relative));
                HandleDownload(transferRequest, info, true);
                return true;
            }
            return false;
        }
开发者ID:uvbs,项目名称:MyProjects,代码行数:35,代码来源:DownloadBase.cs


示例6: DownloadAsyncViaBackgroundTranfer

        private ITransferRequest DownloadAsyncViaBackgroundTranfer(Uri serverUri, Uri phoneUri)
        {
            try
            {
                var request = new BackgroundTransferRequest(serverUri, phoneUri);
                request.Tag = serverUri.ToString();
                request.TransferPreferences = TransferPreferences.AllowCellularAndBattery;

                int count = 0;
                foreach (var r in BackgroundTransferService.Requests)
                {
                    count++;
                    if (r.RequestUri == serverUri)
                        return new WindowsTransferRequest(r);
                    if (r.TransferStatus == TransferStatus.Completed)
                    {
                        BackgroundTransferService.Remove(r);
                        count--;
                    }
                    // Max 5 downloads
                    if (count >= 5)
                        return null;
                }
                BackgroundTransferService.Add(request);
                PersistRequestToStorage(request);
                return new WindowsTransferRequest(request);
            }
            catch (InvalidOperationException)
            {
                return GetRequest(serverUri.ToString());
            }
        }
开发者ID:hubaishan,项目名称:quran-phone,代码行数:32,代码来源:WindowsPhoneDownloadManager.cs


示例7: DownloadItemBackgroundViewModel

 public DownloadItemBackgroundViewModel(BackgroundTransferRequest backgroundTransferRequest)
 {
     this.BackgroundTransferRequest = backgroundTransferRequest;
     this.ProcessTransfer(backgroundTransferRequest);
     this.WatchTransfer();
     this.ProcessTransfer(backgroundTransferRequest);
 }
开发者ID:rlecole,项目名称:SaveAndPlay,代码行数:7,代码来源:DownloadItemBackgroundViewModel.cs


示例8: ConvertTransferStatusChangedToTask

        /// <summary>
        /// Attaches a BackgroundUploadCompletedEventAdapter to the given BackgroundTransferRequest.
        /// This is to convert a BackgroundTransferRequest's status changes to a LiveOperationResult.
        /// </summary>
        /// <param name="request">Request to attach to.</param>
        /// <returns>A Task&lt;LiveOperationResult&gt; converted over from a BackgroundTransferEventArgs.</returns>
        public Task<LiveOperationResult> ConvertTransferStatusChangedToTask(BackgroundTransferRequest request)
        {
            var completedEventHandler =
                new BackgroundUploadCompletedEventAdapter(this.backgroundTransferService, this.tcs);
            completedEventHandler.BackgroundTransferRequestCompleted += this.OnBackgroundTransferRequestCompleted;

            return completedEventHandler.ConvertTransferStatusChangedToTask(request);
        }
开发者ID:d20021,项目名称:LiveSDK-for-Windows,代码行数:14,代码来源:BackgroundUploadEventAdapter.cs


示例9: CreateJobData

        private void CreateJobData(BackgroundTransferRequest request)
        {
            var json = request.Tag;
            var jobData = JsonConvert.DeserializeObject<JobData>(json);
            JobData = jobData;

            Monitor.Name = jobData.Name;
        }
开发者ID:gep13,项目名称:Emby.WindowsPhone,代码行数:8,代码来源:TransferMonitorViewModel.cs


示例10: WindowsTransferRequest

 public WindowsTransferRequest(BackgroundTransferRequest request)
 {
     this.request = request;
     if (this.request != null)
     {
         this.request.TransferProgressChanged += request_TransferProgressChanged;
         this.request.TransferStatusChanged += request_TransferStatusChanged;
     }
 }
开发者ID:hubaishan,项目名称:quran-phone,代码行数:9,代码来源:WindowsPhoneTransferRequest.cs


示例11: StartOneDownload

        /// <summary>
        /// 开始下载一个新任务,此方法为后台线程调用
        /// </summary>
        /// <param name="info"></param>
        protected void StartOneDownload(DownloadInfo info)
        {
            _isDownloading = true;

            var destinationPath = string.Format("/shared/transfers/{0}", info.LocalFileName);
            var destinationFile = new Uri(destinationPath, UriKind.Relative);
            var transferRequest = new BackgroundTransferRequest(new Uri(info.DownloadUri), destinationFile);
            info.LocalFileName = transferRequest.DownloadLocation.OriginalString;
            HandleDownload(transferRequest, info, true);
        }
开发者ID:uvbs,项目名称:MyProjects,代码行数:14,代码来源:DownloadBase.cs


示例12: startAsync

        public void startAsync(string options)
        {
            try
            {
                var optStings = JSON.JsonHelper.Deserialize<string[]>(options);
                
                var uriString = optStings[0];
                var filePath = optStings[1];


                if (_activDownloads.ContainsKey(uriString))
                {
                    return;
                }
    
                _activDownloads.Add(uriString, new Download(uriString, filePath, optStings[2]));
                
               
                var requestUri = new Uri(uriString);

                BackgroundTransferRequest transfer = FindTransferByUri(requestUri);

                if (transfer == null)
                {
                    // "shared\transfers" is the only working location for BackgroundTransferService download
                    // we use temporary file name to download content and then move downloaded file to the requested location
                    var downloadLocation = new Uri(@"\shared\transfers\" + Guid.NewGuid(), UriKind.Relative);

                    transfer = new BackgroundTransferRequest(requestUri, downloadLocation);

                    // Tag is used to make sure we run single background transfer for this file
                    transfer.Tag = uriString;

                    BackgroundTransferService.Add(transfer);
                }

                if (transfer.TransferStatus == TransferStatus.Completed)
                {
                    // file was already downloaded while we were in background and we didn't report this
                    MoveFile(transfer);
                    BackgroundTransferService.Remove(transfer);
                    DispatchCommandResult(new PluginResult(PluginResult.Status.OK));
                }
                else
                {
                        transfer.TransferProgressChanged += ProgressChanged;
                        transfer.TransferStatusChanged += TransferStatusChanged;
                }
                
            }
            catch (Exception ex)
            {               
                DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, ex.Message));
            }
        }
开发者ID:AndreasNogler,项目名称:Emby.Mobile,代码行数:55,代码来源:BackgroundDownload.cs


示例13: GetProgressInfo

 public ProgressInfo GetProgressInfo(BackgroundTransferRequest e)
 {
     P.FileProgress = (float)e.BytesReceived / (float)e.TotalBytesToReceive;
     string[] splitted_tag = e.Tag.Split('|');
     ts = DateTime.Now - last_time;
     P.Speed = (float)(e.BytesReceived - BytesTransferredLast) / (float)ts.TotalSeconds/1024;
     P.Title = splitted_tag[1];
     BytesTransferredLast = e.BytesReceived;
     last_time = DateTime.Now;
     return P;
 }
开发者ID:ahmeda8,项目名称:audio-youtube-wp7,代码行数:11,代码来源:ProgressReporter.cs


示例14: LivePendingDownload

        internal LivePendingDownload(
            IBackgroundTransferService backgroundTransferService, 
            BackgroundTransferRequest request)
        {
            Debug.Assert(backgroundTransferService != null);
            Debug.Assert(request != null);
            Debug.Assert(BackgroundTransferHelper.IsDownloadRequest(request));

            this.request = request;
            this.backgroundTransferService = backgroundTransferService;
        }
开发者ID:d20021,项目名称:LiveSDK-for-Windows,代码行数:11,代码来源:LivePendingDownload.cs


示例15: ConvertTransferStatusChangedToTask

        /// <summary>
        /// Attaches a BackgroundDownloadCompletedEventAdapter to the given BackgroundTransferRequest.
        /// This is to convert a BackgroundTransferRequest's status changes to a LiveOperationResult.
        /// </summary>
        /// <param name="request">Request to attach to.</param>
        /// <returns>A Task&lt;LiveOperationResult&gt; converted over from a BackgroundTransferEventArgs.</returns>
        public Task<LiveOperationResult> ConvertTransferStatusChangedToTask(BackgroundTransferRequest request)
        {
            Debug.Assert(request != null);

            var completedEventAdapter =
                new BackgroundDownloadCompletedEventAdapter(this.backgroundTransferService, this.tcs);

            completedEventAdapter.BackgroundTransferRequestCompleted +=
                this.OnBackgroundTransferRequestCompletedEventAdapter;
            return completedEventAdapter.ConvertTransferStatusChangedToTask(request);
        }
开发者ID:harunpehlivan,项目名称:LiveSDK-for-Windows,代码行数:17,代码来源:BackgroundDownloadEventAdapter.cs


示例16: GetBackTXRequest

 protected BackgroundTransferRequest GetBackTXRequest(string src,string tag)
 {
     Uri src_uri = new Uri(src, UriKind.Absolute);
     Uri dst_uri = new Uri("shared\\transfers\\temp"+src_uri.GetHashCode()+".mp3", UriKind.Relative);
     BackgroundTransferRequest back_req = new BackgroundTransferRequest(src_uri, dst_uri);
     back_req.Tag = tag;
     bool use_cellular = false;
     IsolatedStorageSettings.ApplicationSettings.TryGetValue("use_cellular", out use_cellular);
     if (use_cellular)
         back_req.TransferPreferences = TransferPreferences.AllowCellularAndBattery;
     else
         back_req.TransferPreferences = TransferPreferences.AllowBattery;
     return back_req;
 }
开发者ID:ahmeda8,项目名称:audio-youtube-wp7,代码行数:14,代码来源:FileDownloader.cs


示例17: ConvertTransferStatusChangedToTask

        /// <summary>
        /// Attaches to this BackgroundTransferRequest's TransferStatusChanged event.
        /// </summary>
        /// <param name="request">request to attach to</param>
        public Task<LiveOperationResult> ConvertTransferStatusChangedToTask(BackgroundTransferRequest request)
        {
            Debug.Assert(BackgroundTransferHelper.IsUploadRequest(request));
            if (request.TransferStatus != TransferStatus.Completed)
            {
                request.TransferStatusChanged += this.HandleTransferStatusChanged;
            }
            else
            {
                // If we are working with an already completed request just handle it now.
                this.OnTransferStatusComplete(request);
            }

            return this.tcs.Task;
        }
开发者ID:harunpehlivan,项目名称:LiveSDK-for-Windows,代码行数:19,代码来源:BackgroundUploadCompletedEventAdapter.cs


示例18: BeginDownload

        private void BeginDownload()
        {
            using (var storage = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (storage.FileExists("/shared/transfers/channel9.mp3"))
                    storage.DeleteFile("/shared/transfers/channel9.mp3");
            }

            _request = new BackgroundTransferRequest(
                        new Uri("http://media.ch9.ms/ch9/7e13/ce6ea97c-e233-4e7c-a74d-ee1c81e37e13/WP8JumpStart04.mp3",
                                UriKind.Absolute),
                        new Uri("/shared/transfers/channel9.mp3", UriKind.Relative)) { Tag = "Channel9Download", TransferPreferences = TransferPreferences.AllowBattery };
            _monitor = new TransferMonitor(_request);
            Control1.DataContext = _monitor;

            _monitor.RequestStart(); //This adds request to the BackgroundTransferService queue.
        }
开发者ID:JanJoris,项目名称:VikingApp,代码行数:17,代码来源:BackgroundTransferControlSample.xaml.cs


示例19: Upload

        public void Upload(string username, string password, string filename)
        {
            using (System.IO.IsolatedStorage.IsolatedStorageFile iso = System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (!iso.FileExists(localDBName))
                    return;

                iso.CopyFile(localDBName, "/" + TransfersFiles + "/" + localDBName, true);
            }

            BackgroundTransferRequest btr = new BackgroundTransferRequest(new Uri(serviceUploadLocationURL + localDBName, UriKind.Absolute));
            btr.TransferPreferences = TransferPreferences.AllowBattery;
            btr.Method = "POST";
            btr.UploadLocation = new Uri("/" + TransfersFiles + "/" + localDBName, UriKind.Relative);
            btr.TransferStatusChanged += new EventHandler<BackgroundTransferEventArgs>(btr_UploadTransferStatusChanged);
            btr.TransferProgressChanged += new EventHandler<BackgroundTransferEventArgs>(btr_TransferProgressChanged);
            Microsoft.Phone.BackgroundTransfer.BackgroundTransferService.Add(btr);
        }
开发者ID:xdvarpunen,项目名称:LocalDBInWP,代码行数:18,代码来源:LocalhostSync.cs


示例20: Build

        public BackgroundTransferRequest Build()
        {
            Debug.Assert(this.requestUri != null);
            Debug.Assert(this.accessToken != null);
            Debug.Assert(this.downloadLocationOnDevice != null);

            var request = new BackgroundTransferRequest(this.requestUri, this.downloadLocationOnDevice);

            request.Headers.Add(
                ApiOperation.AuthorizationHeader, 
                AuthConstants.BearerTokenType + " " + this.accessToken);
            request.Headers.Add(ApiOperation.LibraryHeader, Platform.GetLibraryHeaderValue());

            request.Tag = BackgroundTransferHelper.Tag;

            request.TransferPreferences = this.transferPreferences;

            return request;
        }
开发者ID:6972,项目名称:LiveSDK-for-Windows,代码行数:19,代码来源:BackgroundDownloadRequestBuilder.cs



注:本文中的BackgroundTransferRequest类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# BackgroundType类代码示例发布时间:2022-05-24
下一篇:
C# BackgroundTaskCancellationReason类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap