1

我在 iOS 上使用 Akavache 标准方法(实际上,它是适用于 Android/iOS 的 .NET Standard 项目),但问题仅出现在 iOS 上。

我在应用程序生命周期中节省了一些价值:

    await BlobCache.Secure.InsertObject("user", user);

在应用程序新会话上:

    var user = await BlobCache.Secure.GetObject<UserModel>("user");

但该对象不可用(KeyNotFoundException例外)。

最近我也试图BlobCache.Secure.Flush().Wait()在对象保存后立即调用,但仍然没有效果。

该问题仅发生在 iOS 上。安卓没问题。Secure 和 UserAccount 对象都会出现此问题。

BlobCache.Shutdown().Wait()即使在应用程序关闭“温和”之后,数据也不可用。所以,现在甚至不知道在哪里搜索解决方案。

有什么想法为什么会导致这个问题以及我该如何解决?

4

2 回答 2

1

人们遇到的另一个问题是 SqlLite 缓存正在链接出去。如果您检查 LocalMachine 上的类型,并且它的类型 MemoryCache 不会有弹性。

只需在项目的某处添加链接器静态类(即使它是 PCL 或标准库)。

这对我有用。

于 2018-09-20T22:18:29.040 回答
0

你设置ApplicationName属性了BlobCache吗?在 iOS 上,这似乎比在 Android 上更需要。

于 2018-02-01T14:44:23.597 回答