void StartUpload() { if (uploadTask != null) return; using (var uri = NSUrl.FromString(_url)) using (var request = NSUrlRequest.FromUrl(uri)) { uploadTask = session.CreateUploadTask(request); uploadTask.Resume(); } }
void StartUpload() { if (uploadTask != null) { return; } using (var uri = NSUrl.FromString(_url)) using (var request = NSUrlRequest.FromUrl(uri)) { uploadTask = session.CreateUploadTask(request); uploadTask.Resume(); } }
/// <summary> /// Gets the pending task. /// </summary> /// <returns>The pending task.</returns> /// <remarks>For demo purposes we are only starting a single task so that's why we are returning only one.</remarks> private async Task <NSUrlSessionUploadTask> GetPendingTask() { NSUrlSessionUploadTask uploadTask = null; if (session != null) { var tasks = await session.GetTasksAsync(); var taskList = tasks.UploadTasks; if (taskList.Count() > 0) { uploadTask = taskList [0]; } } return(uploadTask); }
public void NSUrlSessionUploadTaskTest() { TestRuntime.AssertXcodeVersion(6, 0); using (var ur = new NSUrlRequest()) { NSUrlSessionUploadTask task = null; Assert.DoesNotThrow(() => task = NSUrlSession.SharedSession.CreateUploadTask(ur), "Should not throw InvalidCastException"); Assert.IsNotNull(task, "task should not be null"); Assert.IsInstanceOfType(typeof(NSUrlSessionUploadTask), task, "task should be an instance of NSUrlSessionUploadTask"); } using (var data = NSData.FromString("Hola")) using (var ur = new NSUrlRequest()) { NSUrlSessionUploadTask task = null; Assert.DoesNotThrow(() => task = NSUrlSession.SharedSession.CreateUploadTask(ur, data), "Should not throw InvalidCastException 2"); Assert.IsNotNull(task, "task should not be null 2"); Assert.IsInstanceOfType(typeof(NSUrlSessionUploadTask), task, "task should be an instance of NSUrlSessionUploadTask 2"); } using (var ur = new NSUrlRequest()) using (var url = new NSUrl(NetworkResources.MicrosoftUrl)) { NSUrlSessionUploadTask task = null; Assert.DoesNotThrow(() => task = NSUrlSession.SharedSession.CreateUploadTask(ur, url), "Should not throw InvalidCastException 3"); Assert.IsNotNull(task, "task should not be null 3"); Assert.IsInstanceOfType(typeof(NSUrlSessionUploadTask), task, "task should be an instance of NSUrlSessionUploadTask 3"); } using (var ur = new NSUrlRequest()) using (var url = new NSUrl(NetworkResources.MicrosoftUrl)) { NSUrlSessionUploadTask task = null; Assert.DoesNotThrow(() => task = NSUrlSession.SharedSession.CreateUploadTask(ur, url, (data, response, error) => { }), "Should not throw InvalidCastException 4"); Assert.IsNotNull(task, "task should not be null 4"); Assert.IsInstanceOfType(typeof(NSUrlSessionUploadTask), task, "task should be an instance of NSUrlSessionUploadTask 4"); } using (var ur = new NSUrlRequest()) using (var data = NSData.FromString("Hola")) { NSUrlSessionUploadTask task = null; Assert.DoesNotThrow(() => task = NSUrlSession.SharedSession.CreateUploadTask(ur, data, (d, response, error) => { }), "Should not throw InvalidCastException 5"); Assert.IsNotNull(task, "task should not be null 5"); Assert.IsInstanceOfType(typeof(NSUrlSessionUploadTask), task, "task should be an instance of NSUrlSessionUploadTask 5"); } }
async static void restoreTasks(NSUrlSession ses, NSUrlSessionDataTask[] sessions, NSUrlSessionUploadTask[] uploads, NSUrlSessionDownloadTask[] downloads) { List<BackgroundDownload> restoredDownloads = new List<BackgroundDownload>(); foreach(var d in downloads) { var url = d.OriginalRequest.Url.AbsoluteString; if(d.Error != null) { BackgroundDownloadManager.Errored(d); } BackgroundDownload download; BackgroundDownloadManager.BackgroundDownloadFile downloadFile; download = new BackgroundDownload (d) { SessionId = ses.Configuration.Identifier, }; foreach(var key in BackgroundDownloadManager.Files) { Console.WriteLine(key.Key); } if(BackgroundDownloadManager.Files.TryGetValue(url, out downloadFile)) download.Destination = downloadFile.Destination; BackgroundDownloadManager.AddController (url, download); restoredDownloads.Add(download); } if(RestoredDownloads != null) { RestoredDownloads(restoredDownloads); } }
void HandleNSUrlSessionPendingTasks(NSUrlSessionDataTask[] dataTasks, NSUrlSessionUploadTask[] uploadTasks, NSUrlSessionDownloadTask[] downloadTasks) { // SAMCTODO foreach (var t in uploadTasks) { } foreach (var t in downloadTasks){ } foreach (var t in dataTasks) { } }