diff --git a/MapControl/Shared/TileImageLoader.cs b/MapControl/Shared/TileImageLoader.cs
index 986ca740..cc39ed56 100644
--- a/MapControl/Shared/TileImageLoader.cs
+++ b/MapControl/Shared/TileImageLoader.cs
@@ -7,7 +7,6 @@ using System.Collections.Concurrent;
using System.Diagnostics;
using System.IO;
using System.Linq;
-using System.Net;
using System.Threading;
using System.Threading.Tasks;
#if WINDOWS_UWP
@@ -73,7 +72,7 @@ namespace MapControl
{
pendingTiles.PushRange(tiles.Reverse().ToArray());
- while (taskCount < Math.Min(pendingTiles.Count, ServicePointManager.DefaultConnectionLimit))
+ while (taskCount < Math.Min(pendingTiles.Count, DefaultConnectionLimit))
{
Interlocked.Increment(ref taskCount);
diff --git a/MapControl/UWP/TileImageLoader.UWP.cs b/MapControl/UWP/TileImageLoader.UWP.cs
index 8d228bd8..c12be9d2 100644
--- a/MapControl/UWP/TileImageLoader.UWP.cs
+++ b/MapControl/UWP/TileImageLoader.UWP.cs
@@ -17,13 +17,18 @@ namespace MapControl
///
/// Default StorageFolder where an IImageCache instance may save cached data.
///
- public static readonly StorageFolder DefaultCacheFolder = ApplicationData.Current.TemporaryFolder;
+ public static StorageFolder DefaultCacheFolder { get; } = ApplicationData.Current.TemporaryFolder;
///
/// The IImageCache implementation used to cache tile images. The default is null.
///
public static Caching.IImageCache Cache { get; set; }
+ ///
+ /// Gets or sets the maximum number of concurrent connections.
+ ///
+ public static int DefaultConnectionLimit { get; set; } = 2;
+
private async Task LoadTileImageAsync(Tile tile, Uri uri, string cacheKey)
{
var cacheItem = await Cache.GetAsync(cacheKey);
diff --git a/MapControl/WPF/TileImageLoader.WPF.cs b/MapControl/WPF/TileImageLoader.WPF.cs
index 5d261664..694970e1 100644
--- a/MapControl/WPF/TileImageLoader.WPF.cs
+++ b/MapControl/WPF/TileImageLoader.WPF.cs
@@ -5,6 +5,7 @@
using System;
using System.Diagnostics;
using System.IO;
+using System.Net;
using System.Runtime.Caching;
using System.Text;
using System.Threading.Tasks;
@@ -17,7 +18,7 @@ namespace MapControl
///
/// Default folder path where an ObjectCache instance may save cached data.
///
- public static readonly string DefaultCacheFolder =
+ public static string DefaultCacheFolder { get; } =
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "MapControl", "TileCache");
///
@@ -25,6 +26,11 @@ namespace MapControl
///
public static ObjectCache Cache { get; set; } = MemoryCache.Default;
+ private static int DefaultConnectionLimit
+ {
+ get { return ServicePointManager.DefaultConnectionLimit; }
+ }
+
private async Task LoadTileImageAsync(Tile tile, Uri uri, string cacheKey)
{
DateTime expiration;