1
Как можно завершить/закрыть BitmapEncoder в UWP?UWP BitmapEncoder закрыть файл?
InMemoryRandomAccessStream imras = new InMemoryRandomAccessStream();
await [...] //Fill stream
BitmapDecoder decoder = await BitmapDecoder.CreateAsync(imras);
[...] //Do something
StorageFile sf = await ApplicationData.Current.LocalFolder.CreateFileAsync("123.jpg", CreationCollisionOption.ReplaceExisting);
BitmapEncoder bmpEncoder = await BitmapEncoder.CreateAsync(BitmapEncoder.JpegEncoderId, await sf.OpenAsync(FileAccessMode.ReadWrite));
[...]
await bmpEncoder.FlushAsync();
imras.Dispose();
Теперь, когда я пытаюсь получить доступ к файлу, я получаю System.UnauthorizedAccessException, я должен закрыть UWP приложение, чтобы иметь возможность доступа к этому файлу ... Как я могу закрыть его?
Если вам требуется детерминированное уничтожение, не используйте язык (C#) или платформу (.NET), которые невозможно доставить. Операция 'using' в сочетании с шаблоном' IDisposable' не будет выполняться. Вы можете реализовать kludge (на основе этого) или полностью удалить ненужный управляемый слой. – IInspectable