Unified ImageFileCache implementations

This commit is contained in:
Clemens 2021-07-01 00:01:10 +02:00
parent 8d575f01cf
commit e98f5b9bff
2 changed files with 10 additions and 11 deletions

View file

@ -45,19 +45,19 @@ namespace MapControl.Caching
public async Task SetAsync(string key, IBuffer buffer, DateTime expiration)
{
string path;
var path = GetPath(key);
if (buffer != null && buffer.Length > 0 && (path = GetPath(key)) != null)
if (buffer != null && buffer.Length > 0 && path != null)
{
try
{
Directory.CreateDirectory(Path.GetDirectoryName(path));
using (var stream = File.Create(path).AsOutputStream())
using (var stream = File.Create(path))
{
await stream.WriteAsync(buffer);
await stream.WriteAsync(Encoding.ASCII.GetBytes(expiresTag).AsBuffer());
await stream.WriteAsync(BitConverter.GetBytes(expiration.Ticks).AsBuffer());
await stream.AsOutputStream().WriteAsync(buffer);
await stream.WriteAsync(Encoding.ASCII.GetBytes(expiresTag), 0, 8);
await stream.WriteAsync(BitConverter.GetBytes(expiration.Ticks), 0, 8);
}
//Debug.WriteLine("ImageFileCache: Wrote {0}, Expires {1}", path, expiration.ToLocalTime());

View file

@ -160,11 +160,10 @@ namespace MapControl.Caching
memoryCache.Set(key, imageCacheItem, policy);
string path;
var buffer = imageCacheItem.Buffer;
var path = GetPath(key);
if (imageCacheItem.Buffer != null &&
imageCacheItem.Buffer.Length > 0 &&
(path = GetPath(key)) != null)
if (buffer != null && buffer.Length > 0 && path != null)
{
try
{
@ -172,7 +171,7 @@ namespace MapControl.Caching
using (var stream = File.Create(path))
{
stream.Write(imageCacheItem.Buffer, 0, imageCacheItem.Buffer.Length);
stream.Write(buffer, 0, buffer.Length);
stream.Write(Encoding.ASCII.GetBytes(expiresTag), 0, 8);
stream.Write(BitConverter.GetBytes(imageCacheItem.Expiration.Ticks), 0, 8);
}