C# 如何在Windows 8中存储漫游文件?

C# 如何在Windows 8中存储漫游文件?,c#,windows-8,roaming,C#,Windows 8,Roaming,我正在尝试存储一个文件并将其漫游到Windows 8中的其他设备。关于这一点的决议规定: 在其应用程序数据存储中,每个应用程序都有系统定义的根目录:一个用于本地文件,一个用于漫游文件,一个用于临时文件 再往下说,它说: 应用程序文件可以是本地的,也可以是漫游的。应用程序添加到本地数据存储的文件仅在本地设备上存在。系统会自动同步应用程序添加到用户已安装应用程序的所有设备上的漫游数据存储中的文件 但是,它并没有继续说明如何漫游文件(不是普通数据) 在哪里可以找到有关漫游文件的更多信息,而不仅仅是普通

我正在尝试存储一个文件并将其漫游到Windows 8中的其他设备。关于这一点的决议规定:

在其应用程序数据存储中,每个应用程序都有系统定义的根目录:一个用于本地文件,一个用于漫游文件,一个用于临时文件

再往下说,它说:

应用程序文件可以是本地的,也可以是漫游的。应用程序添加到本地数据存储的文件仅在本地设备上存在。系统会自动同步应用程序添加到用户已安装应用程序的所有设备上的漫游数据存储中的文件

但是,它并没有继续说明如何漫游文件(不是普通数据)


在哪里可以找到有关漫游文件的更多信息,而不仅仅是普通数据?

使用在以下文件中定义的功能:
Windows.Storage.ApplicationData.Current.RoamingFolder

例如:

public async void RoamData()
{
    var roamingFolder = Windows.Storage.ApplicationData.Current.RoamingFolder;
    var needToCreate = false;

    try
    {
        var sampleFile = await roamingFolder.GetFileAsync("dataFile.txt");
        string fooBar = await Windows.Storage.FileIO.ReadTextAsync(sampleFile);
    }
    catch (Exception)
    {
        // fooBar not found
        needToCreate = true; // set a boolean to create the file. Cant be done here cause you cant await in a catch clause.
    }

    if (needToCreate)
    {
        var sampleFile = await roamingFolder.CreateFileAsync("dataFile.txt", Windows.Storage.CreationCollisionOption.ReplaceExisting);
        await Windows.Storage.FileIO.WriteTextAsync(sampleFile, "fooBar content of the file.");
    }
}

MSDN:

只需确保文件夹(和RoamingSettings容器)中的组合数据保持在Windows.Storage.ApplicationData.RoamingStorageQuota中的大小以下,否则不会发生漫游。