关于 BlazingPizza Blazor 应用程序使用的本地数据库的问题

Question about local db used by BlazingPizza Blazor app

我正在研究位于此处的演示 Blazor WebAssembly 项目 BlazingPizza

该项目使用名为“Pizza.db”的本地 SqlLite 数据库进行身份验证和与应用程序相关的数据存储。我想了解如何将此 db 文件下载到浏览器?它是一个隐藏的资源文件并且用户无权访问它吗?如果是这样,这样的 db 文件是否是代替 localStorage 的一个很好的解决方案,因为用户可以轻松地操作 localStorage 值?感谢您的任何建议。

BlazingPizza 项目由一个 Blazor WebAssembly 应用程序和一个 ASP.NET 核心 API 组成。数据库只能通过 API 访问,不会下载到客户端。

不,如果您查看 BlazingPizza 示例,您可以很容易地看出它是一个 .NET Core hosted 应用程序(相对于纯 Web 程序集应用程序) src 中的文件夹是 BlazingPizza.ClientBlazingPizza.Server。这意味着虽然 客户端 是使用 Web 程序集实现的,但其所有数据访问逻辑都是通过使用 ASP.NET Core Web API 后端发生的。它是使用 SQLite 存储数据的后端(它只是一个普通的 .NET 应用程序,可以完全访问框架)。 Web 程序集部分 (BlazingPizza.Client) 仅使用标准 REST API 交互来查询后端数据。 (重要的是,Web 程序集应用程序 不能 使用 .NET SQLite 驱动程序。)

因此,试图将其视为 LocalStorage 的替代品是错误的,因为它实际上并未在客户端存储任何内容。