部署LocalState文件夹

时间:2013-02-25 13:38:06

标签: windows-8

我正在使用LocalState文件夹为我的Windows 8应用程序启用缓存。为了提供样本数据(应用程序使用Web服务来收集数据),我想提供一组已经缓存的默认数据。

我可以提供将在应用程序包中的LocalState的示例数据吗?

2 个答案:

答案 0 :(得分:3)

您可以将文件放入包中,然后在启动时检查本地文件夹中是否已有数据,如果没有,则从包存储中复制/填充(参见CopyAsync,例如)。如果是这样,什么也不做。

答案 1 :(得分:2)

以下是一些示例JS代码 - 应该能够非常轻松地转换为.NET - 使用async / await代替Promises。

WinJS.Application.local.exists('somedata.json').done(
               function (found) {
                   if (!found) {
                       return copyStartData('somedata.json');
                   }
               }
           );

function copyStartData(copyfile) {
        return Windows.ApplicationModel.Package.current.installedLocation.getFolderAsync('startdata').then(
            function (startData) {
                return startData.getFileAsync(copyfile).then(
                    function (file) {
                        if (file) {
                            return file.copyAsync(WinJS.Application.local.folder);
                        }
                    });
            });
    }

该函数将您要从安装包中复制的文件的名称带到用户本地计算机。