return this.LoadThumbnailImageAsync(CancellationToken.None);
}
- public async Task<MemoryImage> LoadThumbnailImageAsync(CancellationToken cancellationToken)
+ public Task<MemoryImage> LoadThumbnailImageAsync(CancellationToken cancellationToken)
{
- using (var http = MyCommon.CreateHttpClient())
+ return Task.Run(async () =>
{
- return await this.LoadThumbnailImageAsync(http, cancellationToken)
- .ConfigureAwait(false);
- }
+ using (var http = MyCommon.CreateHttpClient())
+ {
+ return await this.LoadThumbnailImageAsync(http, cancellationToken)
+ .ConfigureAwait(false);
+ }
+ }, cancellationToken);
}
public async virtual Task<MemoryImage> LoadThumbnailImageAsync(HttpClient http, CancellationToken cancellationToken)
public event EventHandler<ThumbnailDoubleClickEventArgs> ThumbnailDoubleClick;
public event EventHandler<ThumbnailImageSearchEventArgs> ThumbnailImageSearchClick;
+ private readonly HttpClient http = MyCommon.CreateHttpClient();
+
private object uiLockObj = new object();
public ThumbnailInfo Thumbnail
picbox.Tag = thumb;
picbox.ContextMenuStrip = this.contextMenuStrip;
- var loadTask = picbox.SetImageFromTask(() => thumb.LoadThumbnailImageAsync(cancelToken));
+ var loadTask = picbox.SetImageFromTask(() => thumb.LoadThumbnailImageAsync(this.http, cancelToken));
loadTasks.Add(loadTask);
var tooltipText = thumb.TooltipText;