繁体   English   中英

为什么不能在 Blazor WebAssembly 中使用 Sqlite?

[英]Why is it not possible to use Sqlite in Blazor WebAssembly?

对于使用 blazor wasm 构建的平台解决方案,我正在寻找一种能够在客户端存储大数据集的轻量级存储解决方案。 我们想出了使用 Sqlite 的想法。 我真的找不到任何关于这样做的信息,从今天开始期待这个Stackoverflow 问题,它提到这是不可能的。 对此有何解释?

非常感谢!

从 .NET 6 开始,您可以在 Blazor WebAssembly 中使用包含原生依赖项,其中一个示例实际上是 SQLite。 请参阅此处的示例代码: https://github.com/SteveSandersonMS/BlazeOrbital/blob/6b5f7892afbdc96871c974eb2d30454df4febb2c/BlazeOrbital/ManufacturingHub/Properties/NativeMethods.cs#L6

您的 Blazor WebAssembly C# 代码仍然在浏览器的沙箱中运行,这意味着它不允许打开本地驱动器上的文件。

Blazor WebAssembly 对机器的访问与任何常规网站相同。

即使有人将 SQLite 移植到 WebAssembly,您也无法打开数据库文件。

对于客户端计算机上的存储,您仅限于本地存储,它被限制为 5 MB(可能因浏览器品牌而异)并且只能包含字符串。 但这不是一个可靠的选择,因为当用户清除缓存、浏览器历史记录等时,数据将被删除。

您唯一的选择是将数据存储在服务器上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM