gpt4 book ai didi

c# - 我的漫游数据不在设备之间同步

转载 作者:行者123 更新时间:2023-11-30 17:38:17 24 4
gpt4 key购买 nike

我制作了一个 UWP 应用程序。我使用漫游数据。我通过这个保存设置:

public static void WriteCode(string pwd)
{
ApplicationDataContainer RoamingSettings = ApplicationData.Current.RoamingSettings;
RoamingSettings.Values["Code"] = EncryptHelper.PwdEncrypt(pwd);
}

我通过这个读取设置:

 public static string GetCode()
{
ApplicationDataContainer RoamingSettings = ApplicationData.Current.RoamingSettings;
string str = (String)RoamingSettings.Values["Code"];
if (!String.IsNullOrEmpty(str))
return str;
else
return EncryptHelper.PwdEncrypt("123");
}

我完成了申请并上传到 windows store 并通过了检查。然后我在手机上下载了这个应用程序。

我更改了手机上的 ApplicationData.Current.RoamingSettings。我在手机上向 ApplicationData.Current.RoamingFolder 写了一些东西。

接下来,我关闭了手机上的应用程序并在我的电脑上下载了该应用程序。但是当我在我的电脑上打开应用程序时,我发现 ApplicationData.Current.RoamingSettings 和 ApplicationData.Current.RoamingFolder 没有任何改变。

我在我的电脑上检查了 C:\Users\XXX\AppData\Local\Packages\XXX\RoamingState,什么都没有。我检查了我电脑上的 C:\Users\XXX\AppData\Local\Packages\XX\Settings,有 roaming.lock 和 settings.dat。但是我无法再读取我在手机上添加的最新设置和漫游数据。

我已经等了2个小时了,我的PC上没有找零。

有件事我要先声明:

   1 All the deploy work was done by windows store.

2 I check my PC application setting after closed the app on phone. I even shut down my mobile phone to observe the change to my PC.

我的代码有什么问题?或者 roamingdata 机制有什么问题?我需要一个答案,谢谢!

最佳答案

您发布的代码是正确的。但是漫游数据同步失败的原因可能有以下几种:

  1. Any user can benefit from roaming app data if they use a Microsoft account to log on to their device. However, users and group policy administrators can switch off roaming app data on a device at any time. If a user chooses not to use a Microsoft account or disables roaming data capabilities, she will still be able to use your app, but app data be local to each device.

    请记住,漫游数据与用户的 Microsoft 帐户相关联。仅当用户使用同一 Microsoft 帐户登录她的设备并在多台设备上安装该应用时,漫游数据才会同步。

  2. Don't use roaming for data that relies on instant syncing. Windows doesn't guarantee an instant sync; roaming could be significantly delayed if a user is offline or on a high latency network.

    设置漫游不是即时的。系统在确定何时发送数据时会权衡几个因素。我们可以通过监听 ApplicationData.DataChanged 来检测新的漫游数据是否已经到达本地设备。 事件。当应用程序数据刚从云端同步完成时,会发生此事件。每当设备接收到新的漫游数据时,DataChanged 事件就会触发,并传入更新后的 ApplicationData 对象。这让我们可以在数据发生变化时对我们的应用进行任何调整。

    对于重要的、时间紧迫的设置,请使用与 RoamingSettings 关联的HighPriority 设置像下面这样:

    // High Priority setting, for example, last page position in book reader app
    roamingSettings.values["HighPriority"] = "65";

    这是漫游设置中的一个特殊 key ,我们可以将其用于需要立即同步的数据。将 HighPriority 添加到任何设置都会使其尽快同步。

  3. Don't roam large sets of app data. There's a limit to the amount of app data an app may roam; use RoamingStorageQuota property to get this maximum. If an app hits this limit, no data can roam until the size of the app data store no longer exceeds the limit.

    每个设置的名称最长可达 255 个字符。每个设置的大小可达 8K 字节,每个复合设置的大小可达 64K 字节。同步引擎可能会限制可以漫游的设置和文件的总大小。跟踪您尝试漫游的数据量非常重要。如果您尝试同步的数据总量超过限制,则设备之间不会同步任何内容。

  4. App data only roams between installed apps with the same version number. For example, devices on version 2 will transition data between each other and devices on version 3 will do the same, but no roaming will occur between a device running version 2 and a device running version 3. If you install a new app that utilized various version numbers on other devices, the newly installed app will sync the app data associated with the highest version number.

    如果您在漫游日期使用版本控制,请确保您处理的是正确的版本。

这些是可能导致漫游数据在设备之间不同步的一些可能原因。更多信息,请查看Store and retrieve settings and other app data中的漫游数据 .

关于c# - 我的漫游数据不在设备之间同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36982605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com