В моем UWP приложение, когда модель слоя пытается обновить (перезаписать) файл, он бросает UnauthorizedAccessException
«отказано в доступе» исключение, поскольку файл заблокирован видовым в BitmapImage.BitmapImage.UriSource блокирует локальный файл
Посмотреть
var bitmap = new BitmapImage();
bitmap.UriSource = new Uri("ms-appdata:///local/image.jpg");
Модель
private async UpdateImage()
{
// this line throws!
var file = await ApplicationData.Current.LocalFolder.CreateFileAsync("image.jpg", CreationCollisionOption.ReplaceExisting);
...
}
Как я могу остановить BitmapImage от блокировки локального файла, используемого в качестве UriSource?
'bitmap.CacheOption' сделал бы это, но он не поддерживается UWP, насколько я знаю. – Vitaly
Спасибо, но, к сожалению, свойство 'CacheOption' отсутствует в UWP. – Vitaly
Извините, вы правы. Я не заметил, что это UWP. Думаю, вам следует управлять «перезагрузкой» объекта BitMapImage вашего представления перед вызовом Model UpdateImage, а затем перезагрузить в представлении обновленного изображения. –