0

私人无效OnRestoreClicked(对象发送者,RoutedEventArgs e){

        string id = string.Empty;
        client.GetCompleted += (obj, args) =>
        {
            List<object> items = args.Result["data"] as List<object>;
            foreach (object item in items)
            {
                Dictionary<string, object> file = item as Dictionary<string, object>;
                if (file["name"].ToString() == "Expensemanager.bak")
                {
                    id = file["id"].ToString();
                }
            }

            client.DownloadCompleted += (o, a) =>
            {
                Stream stream = a.Result;

                using (IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
                {    
                         var fileToSave = new IsolatedStorageFileStream("expanseManager.sdf", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None, storage);

                        stream.CopyTo(fileToSave);
                        stream.Flush();
                        stream.Close();

                }
            };

            client.DownloadAsync(string.Format("{0}/content", id));
        };

        client.GetAsync("me/skydrive/files");
    }

下面这行出错...在隔离存储上不允许操作..

var fileToSave = new IsolatedStorageFileStream("expanseManager.sdf", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None, storage);

4

1 回答 1

0

您需要确保您的数据库已关闭,然后才能覆盖 sdf 文件。如果您要保留全局DataContext参考,那么您需要处理它。除此之外,只需确保将您的数据库交互包装在一个using块中。

于 2013-05-29T07:05:04.187 回答