如何在网络操作期间使用数据缓存 (HTML)

[ 本文适用于编写 Windows 运行时应用的 Windows 8.x 和 Windows Phone 8.x 开发人员。如果你要针对 Windows 10 进行开发,请参阅 最新文档 ]

本主题显示了如何在 Windows 运行时应用中结合使用数据缓存和网络操作。

将网络内容缓存为应用数据

通过将内容存储到磁盘上,在你的应用意外终止或使用受限网络时,你的应用行为更快速和流畅。例如,RSS Feed Reader 应用可以立即显示在上一个会话中缓存到磁盘的源。在最新的订阅源可用后,应用可以更新其内容。这将确保用户在启动后立即会有要查看的内容,同时还可等待新内容更新。

Windows 8.1 在 Windows.Storage 命名空间中提供 ApplicationData 类。该类提供对应用数据存储的访问。应用数据是特定于具体应用的可变数据。它包含运行时状态、用户首选项和其他设置。应用数据可在应用运行时创建、读取、更新和删除。有关详细信息,请参阅使用 Windows 运行时访问应用数据

应用通过网络操作传输的文件可以在 RoamingLocalTemporary 文件夹中作为应用数据缓存。

注意  Windows Phone 8.1 还包括含有应用有意保存或删除的文件的特殊 Cache 文件夹。

 

文件夹 描述
Local

文件保留在最初将其写入的计算机上,并且不会与其他设备同步。

Temporary

当文件不使用时,可能会删除这些文件。 在确定何时或者是否删除临时文件时,系统考虑诸如可用磁盘容量和文件存在时间之类的因素。

Roaming

文件在用户使用关联的帐户签名的设备间同步。文件的漫游不是即时的;当确定何时发送数据时系统权衡多个因素。

漫游数据的使用量应低于 RoamingStorageQuota 属性定义的配额,否则将暂停数据漫游。当应用仍写入文件时,文件无法漫游,以便确保不再需要应用的文件对象时可以关闭这些应用的文件对象。

 

以下代码段演示将对来自网络操作的服务器响应以 .txt 文件形式作为应用数据缓存到 Roaming 文件夹。然后代码演示如何使用关联的文件名检索缓存的内容。

示例

首先,我们定义一个指向 Roaming 文件夹的引用。 接下来,cacheResponse 示例将在 Roaming 文件夹内创建一个新文件,并指示应替换具有相同文件名的任何现有文件。在文件创建后,内容将从最初随服务器响应返回的文件中写入新 serverResponse.txt 文件。

var roamingFolder = Windows.Storage.ApplicationData.current.roamingFolder;
var filename = "serverResponse.txt";

function cacheResponse(strResponse) {
    roamingFolder.createFileAsync(filename, Windows.Storage.CreationCollisionOption.replaceExisting)
        .done(function (file) {
            return Windows.Storage.FileIO.writeTextAsync(file, strResponse);
        });
}

若要在以后访问缓存的 serverResponse.txt 文件,则 getCachedResponse 示例将按 filename 定义的文件名检索文件,并显示其包含的文本。


function getCachedResponse() {
    roamingFolder.getFileAsync(filename)
        .then(function (file) {
            return Windows.Storage.FileIO.readTextAsync(file);
        }).done(function (response) {
            print(response);
        }, function () {
            // getFileAsync or readTextAsync failed. 
            // No cached response
        });
}

服务器响应随附的缓存内容将用作应用数据,这允许在应用终止和重新启动后进行快速访问和显示。有关将设置写入应用数据存储和如何响应漫游事件的详细信息,请阅读管理应用数据或下载应用程序数据示例

相关主题

应用数据示例

快速入门:本地应用数据

快速入门:漫游应用数据

快速入门:临时应用数据

漫游应用数据指南