2

Webからバックグラウンドタスクから分離されたストレージに画像を保存しようとしていますが、スローされます

An unhandled exception of type 'System.UnauthorizedAccessException' occurred in System.Windows.ni.dll

私はこのコードを使用しています

 using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
        {
            if (myIsolatedStorage.FileExists(tempJPEG))
            {
                myIsolatedStorage.DeleteFile(tempJPEG);
            }

            IsolatedStorageFileStream fileStream = myIsolatedStorage.CreateFile(tempJPEG);

            StreamResourceInfo sri = null;
            Uri uri = new Uri(tempJPEG, UriKind.Relative);
            sri = Application.GetResourceStream(uri);

            BitmapImage bitmap = new BitmapImage();
            bitmap.SetSource(e.Result);
            WriteableBitmap wb = new WriteableBitmap(bitmap);

            // Encode WriteableBitmap object to a JPEG stream.
            Extensions.SaveJpeg(wb, fileStream, wb.PixelWidth, wb.PixelHeight, 0, 100);

            //wb.SaveJpeg(fileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
            fileStream.Close();
        }

これは、アプリから実行している場合は100%機能しますが、バックグラウンドタスクからは機能しません。画像を保存する方法に関するヒントはありますか?

4

1 に答える 1

3

WriteableBitmapはバックグラウンドスレッドではなくUIスレッドで実行する必要があるため、このコードDispatcher.BeginInvoke()を呼び出す必要があります。@http://codeblog.vurdalakov.net/2012/02/solution-wp7-unauthorizedaccessexceptio.htmlを参照してください

于 2013-01-02T21:23:14.470 に答える