1
Wie kann ich den BitmapEncoder auf UWP finalisieren/schließen?UWP BitmapEncoder Datei schließen?
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();
Jetzt, wenn ich versuche, auf die Datei zuzugreifen, erhalte ich eine System.UnauthorizedAccessException, ich habe die UWP App zu schließen, um diese Datei zugreifen ... Wie kann ich es in der Nähe?
Wenn Sie deterministische Zerstörung benötigen, keine Sprache (C#) oder eine Plattform (.NET) verwenden, die nicht liefern kann. Eine 'using'-Anweisung in Verbindung mit dem' IDisposable'-Muster reicht nicht aus. Sie können (basierend darauf) einen Kludim implementieren oder die unnötige verwaltete Ebene löschen. – IInspectable