示例#1
0
        async void Tick()
        {
            var downloadmanager = new MyDownloadManager();

            var downloadqueue = new NSOperationQueue {
                MaxConcurrentOperationCount = 1
            };

            string       sessionidentifier = "myapp.download.images";
            NSUrlSession nsurlsession      = null;

            using (var configuration = NSUrlSessionConfiguration.CreateBackgroundSessionConfiguration(sessionidentifier)) {
                nsurlsession = NSUrlSession.FromConfiguration(configuration, downloadmanager, downloadqueue);
            }

            for (int i = 0; i < 2000; i++)
            {
                var image = string.Format("https://xamarin.com/content/images/pages/index/[email protected]?id={0}", i);

                var ii = i;
                NSTimer.CreateScheduledTimer(TimeSpan.FromMilliseconds(10 + i / 10), (v) => {
                    using (var url = NSUrl.FromString(image)) {
                        using (var request = NSUrlRequest.FromUrl(url)) {
                            var task = nsurlsession.CreateDownloadTask(request);
                            task.Resume();
                            Console.WriteLine("Created task #{0}: {1}", ii, task);
                        }
                    }
                });
            }
        }
示例#2
0
		async void Tick ()
		{

			var downloadmanager = new MyDownloadManager();

			var downloadqueue = new NSOperationQueue {
				MaxConcurrentOperationCount = 1
			};

			string sessionidentifier = "myapp.download.images";
			NSUrlSession nsurlsession = null;
			using (var configuration = NSUrlSessionConfiguration.CreateBackgroundSessionConfiguration (sessionidentifier)) {
				nsurlsession = NSUrlSession.FromConfiguration (configuration, downloadmanager, downloadqueue);
			}

			for (int i = 0; i < 2000; i++) {
				var image = string.Format ("https://xamarin.com/content/images/pages/index/[email protected]?id={0}", i);

				var ii = i;
				NSTimer.CreateScheduledTimer (TimeSpan.FromMilliseconds (10 + i / 10), (v) => {
					using (var url = NSUrl.FromString (image)) {
						using (var request = NSUrlRequest.FromUrl (url)) {
								
							var task = nsurlsession.CreateDownloadTask (request);
							task.Resume ();
							Console.WriteLine ("Created task #{0}: {1}", ii, task);
						}
					}
				});
			}
		}