Я действительно схожу с ума, я не могу использовать какие-либо ожидания для асинхронных методов ниже ...
Это приложение UWP, код ниже находится внутри проекта Core, основанного на .NETСтандарт 2.0.
Я включил весь код, он явно незакончен.Самое странное поведение - BitmapDecoder
говорит, что нет GetAwaiter
(вам не хватает using
?), Когда я удаляю ожидание, оно говорит, что мне нужно добавить ожидание: D
using System.Threading.Tasks;
using Windows.Storage.Streams;
using Windows.UI.Xaml.Media.Imaging;
using Windows.Graphics.Imaging;
namespace Namespace...
{
public class CacheService
{
public async Task<BitmapImage> GetCachedImage(long? productId, long? imageId)
{
return null;
}
public async Task<BitmapImage> SaveImage(byte[] imageBytes, long? productId, long? imageId)
{
BitmapImage image = new BitmapImage();
using (InMemoryRandomAccessStream stream = new InMemoryRandomAccessStream())
{
using (DataWriter writer = new DataWriter(stream))
{
writer.WriteBytes(imageBytes);
writer.StoreAsync();
writer.FlushAsync();
writer.DetachStream();
}
stream.Seek(0);
image.SetSourceAsync(stream);
BitmapDecoder decoder = await BitmapDecoder.CreateAsync(stream);
}
return image;
}
}
}