我正在使用LocalState文件夹为我的Windows 8应用程序启用缓存。为了提供样本数据(应用程序使用Web服务来收集数据),我想提供一组已经缓存的默认数据。
我可以提供将在应用程序包中的LocalState的示例数据吗?
答案 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);
}
});
});
}
该函数将您要从安装包中复制的文件的名称带到用户本地计算机。