0

所以我使用独立存储将我的对象在本地保存为 XML。它奏效了,但现在微软改变了它的工作方式。根据这个网站:

http://msdn.microsoft.com/en-us/library/3ak841sy.aspx

独立存储不适用于 Windows 应用商店应用。相反,使用 Windows 运行时 API 中包含的 Windows.Storage 命名空间中的应用程序数据类来存储本地数据和文件。

我是这样做的:

        var _Option = Windows.Storage.CreationCollisionOption.ReplaceExisting;

        var _File = await Folder.CreateFileAsync(path, _Option);
        MemoryStream saveData = new MemoryStream();

        XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
        ns.Add("", "");

        XmlSerializer x = new XmlSerializer(data.GetType());
        x.Serialize(saveData, data,ns);

        if (saveData.Length > 0)
        {

            // Get an output stream for the SessionState file and write the state asynchronously
            using (Stream fileStream = await _File.OpenStreamForWriteAsync())
            {
                saveData.Seek(0, SeekOrigin.Begin);
                await saveData.CopyToAsync(fileStream);
                await fileStream.FlushAsync();
            }
            return true;
        }

但我不知道如何用新方法做到这一点。有任何想法吗?

4

1 回答 1

1

我推荐你使用这个帮助类,它将 XML 格式的任何对象存储在 local/temp/roaming 文件夹中。 这是关于此的博客文章。

于 2013-09-29T03:29:01.370 回答