gpt4 book ai didi

angularjs - BreezeJS 离线/在线管理

转载 作者:行者123 更新时间:2023-12-02 01:46:05 24 4
gpt4 key购买 nike

背景:我正准备开始一个需要移动优先的项目。我在客户端使用 AngularJS,在数据库中使用 SQL,在通信中使用 .net WEBApi2。我已经阅读了有关 BreezeJS 的信息,并且想将其用作我的离线数据管理部分,主要是因为我在 .NET 端使用 EF6,并且我喜欢 Breeze 能够通过 EF 元数据管理和创建实体的想法。

在设计应用程序时,我陷入了如何准确管理突然网络丢失的想法。据我了解,BreezeJS 在使用时将其 EntityManager 存储在工作内存中。如果用户在线工作,然后浏览器崩溃或计算机关闭,然后 web 应用程序在离线设置中重新打开,Breeze 是否正常恢复或者这是我需要处理的用例?

问题:我想我的问题很简单,有没有一种方法可以强制 BreezeJS 不使用工作内存而是使用 localStorage 代替?如果不是,我应该在每次更改时将实体导出到本地存储,还是有更好的方法来处理这个特定用例?

最佳答案

Breeze 不能自动使用 localStorage,但是您可以创建一个计时器,定期将 EntityManager 状态存储到 localStorage。但是不确定这是一个好主意。

您确实需要区分服务器不可用的情况,在这种情况下,将 EntityManager 存储到 localStorage 非常有意义,这样您就可以在服务器恢复时保留任何更改。与担心浏览器/客户端计算机崩溃相反,在这种情况下,我认为最好不要处理这种情况。复杂性和性能影响非常大,如果您真的担心这一点,那么只需在每次更改后执行一次保存(到服务器)(同样不一定是推荐的方法,但它是可用的)。

关于angularjs - BreezeJS 离线/在线管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25575088/

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