在IsolatedStorage中移动文件不允许Windows Phone 8

时间:2014-04-06 21:15:57

标签: c# windows-phone-8

我有一个文件的后台下载,这是代码:

LiveOperationResult downloadResult = await client.BackgroundDownloadAsync(id, new Uri("/shared/transfers/MyDB.sdf", UriKind.Relative));

然后我必须使用以下代码将下载的文件从shared / transfer文件夹复制到isolatedStorage的根文件夹。

  using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
                    {
                        storage.MoveFile("/shared/transfers/MyDB.sdf", "MyDB.sdf");                            
                    }

当执行指令storage.MoveFile(...)时,我有一个IsolatedStorage Operation Not Permitted异常。我不明白原因。提前谢谢。

2 个答案:

答案 0 :(得分:1)

确保在移动文件之前目标文件不存在。

if (storage.FileExists("MyDB.sdf"))
{
    storage.DeleteFile("MyDB.sdf");
}
storage.MoveFile("/shared/transfers/MyDB.sdf", "MyDB.sdf");

还要确保源文件流不再打开。

答案 1 :(得分:0)

抱歉迟到了。

但是对于任何面临同样问题的人来说,试试这个

而不是移动到根文件夹,将其移动到roor内的其他文件夹。当我在隔离存储的根文件夹上创建文件时,我在Windows Phone 8上遇到了同样的问题。由于某种原因,我的设备没有显示任何问题。当我的应用程序上线然后我了解它。很难找到。