Esempio n. 1
0
        private async Task LoadTilesFromQueueAsync(Func <Tile, Task> loadTileFunc)
        {
            Tile tile;

            while (tileQueue.TryDequeue(out tile))
            {
                try
                {
                    await loadTileFunc(tile);
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("TileImageLoader: {0}/{1}/{2}: {3}", tile.ZoomLevel, tile.XIndex, tile.Y, ex.Message);
                }
            }

            Interlocked.Decrement(ref taskCount);
        }
        private async Task LoadTilesFromQueueAsync()
        {
            Tile tile;

            while (tileQueue.TryDequeue(out tile))
            {
                try
                {
                    await LoadTileImageAsync(tile, TileSource, SourceName).ConfigureAwait(false);
                }
                catch (Exception ex)
                {
                    Debug.WriteLine("TileImageLoader: {0}/{1}/{2}: {3}", tile.ZoomLevel, tile.XIndex, tile.Y, ex.Message);
                }
            }

            Interlocked.Decrement(ref taskCount);
        }