Version 4.10.0: Simplified TileImageLoader.

This commit is contained in:
ClemensF 2018-08-23 17:58:13 +02:00
parent be3a247064
commit bbd952b955
2 changed files with 10 additions and 10 deletions

View file

@ -77,9 +77,9 @@ namespace MapControl
loadFunc = tile => LoadTileImageAsync(tile, tileSource);
}
var maxTasks = Math.Min(pendingTiles.Count, MaxLoadTasks);
var newTasks = Math.Min(pendingTiles.Count, MaxLoadTasks) - taskCount;
while (taskCount < maxTasks)
while (--newTasks >= 0)
{
Interlocked.Increment(ref taskCount);

View file

@ -5,20 +5,20 @@
using System;
using System.Threading.Tasks;
#pragma warning disable CS1998 // async method lacks await operators and will run synchronously
namespace MapControl
{
public class XmlDocument : System.Xml.XmlDocument
{
public static XmlDocument LoadFromUri(Uri uri)
{
var document = new XmlDocument();
document.Load(uri.ToString());
return document;
}
public static Task<XmlDocument> LoadFromUriAsync(Uri uri)
{
return Task.Run(async () => // without async, debugger may stop on unhandled exception from XmlDocument.Load
{
var document = new XmlDocument();
document.Load(uri.ToString());
return document;
});
return Task.Run(() => LoadFromUri(uri));
}
}
}