2013-02-25 170 views
0

我正在使用LocalState文件夹为我的Windows 8应用程序启用缓存。为了提供示例数据(应用程序使用web服务来收集数据),我想提供已经缓存的默认一堆数据。部署LocalState文件夹

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

回答

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); 
         } 
        }); 
      }); 
    } 

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

3

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