Blazor:使用本地 json 文件作为存储

Blazor: Using local json file as storage

我正在编写小型客户端 blazor 应用程序。为了避免使用任何数据库(并为其创建整个 API),因为我基本上只有一个 class 对象的列表,我想使用 json 文件。

我知道我可以从文件中读取: forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("sample-data/weather.json"); 但是当我修改这个“forecasts”列表并尝试做这样的事情时:

await Http.PostAsJsonAsync("sample-data/weather.json", forecasts); 要么 await Http.PostAsJsonAsync<WeatherForecast[]>("sample-data/weather.json", forecasts); 它不保存更改。我检查了浏览器,它正在使用正确的数据执行 POST,但在 return 中收到 404。这样的数据修改后是否可以保存?

您要做的是从用户浏览器上的应用程序更改服务器上的文件。当用户访问您的 blazor 站点时,所有文件(设置为延迟加载的文件除外)都会下载到用户浏览器中。在应用程序在用户浏览器中生存和运行之后。


如果您不需要任何并发检查和真正的数据库功能,您应该构建一些允许静态文件访问的简单服务器,或者其他选项是使用来自 AWS S3 或 Azure Blob 存储的简单 blob 访问。


您可以查看here 客户端和服务器端 Blazor 之间的区别。 如果您需要在多个客户端之间共享持久数据,您将需要实现一个服务器或服务,如果您使用客户端 Blazor,则允许这样做。