IndexedDB 如何在Blazor WebAssembly-PWA中运行离线数据库使用情况?

k5ifujac  于 2022-12-09  发布在  IndexedDB
关注(0)|答案(4)|浏览(284)

我有一个Blazor WebAssembly ASP.NET Core hosted - PWA应用程序,想离线运行它。数据库目前是用SQLite和EF-Core构建的。是否可以添加离线功能?我读过关于IndexedDB的文章,但实际上不知道如何将其实现到项目中(客户端)。或者有没有任何NuGet包提供此支持?
我想引入项目的功能是-跟踪本地更改,并在数据库再次联机时将其提取到数据库中。

jgwigjjp

jgwigjjp1#

我已经创建了一个库,它为移动的客户端提供了双向脱机同步,这些客户端应该完成这项工作:https://github.com/stefffdev/NubeSync
特别是当多个客户端确实更改了一个记录时,处理冲突解决可能会变得很棘手,因此您可以将其作为起点。
我计划创建一个blazor wasm离线样本和博客关于它很快。

bvhaajcl

bvhaajcl2#

你可以试试这个包。这是一个Blazor库与IndexedDB DOM API一起工作
https://github.com/amuste/DnetIndexedDb

n8ghc7c1

n8ghc7c14#

我正在使用事件源来解决这个问题。它可以很好地处理同步偶尔连接的客户端,如here所述。这意味着放弃实体框架,并可能重新构建整个持久性技术堆栈,所以它远非理想。但如果你计划构建一个大型复杂系统,这是一条可行之路。

相关问题