我在 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()
申请结束时。所以,现在甚至不知道在哪里寻找解决方案。
有什么想法可能会导致此问题以及如何解决它?
人们遇到的另一个问题是 Sqlite 缓存被链接出去。如果您检查本地计算机上的类型,发现它是 MemoryCache 类型,则无法恢复。
只需添加链接器静态类 https://github.com/reactiveui/Akavache#handling-xamarin-linker项目中的某个位置(即使它是 PCL 或标准库)。
这对我有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)