1

有没有办法缓存onGetAsync方法中加载的数据?例如,我们从数据库中加载数据onGetAsync并将它们绑定到我们的属性。

我想知道是否有办法让这些数据保持缓存/持久化,这样该onPostAsync方法就不需要重新加载所有这些并再次访问数据库。目前我们在 PageModel 的构造函数中加载数据,所以它被加载了两次。

例如,我们有一个remove from cart从购物车中删除一个项目,所以我们想继续显示购物车页面,return Page();但是我们显然需要重新加载所有数据,这是非常低效的。

我认为这可能必须发生,因为无论如何我们都必须使用我们的 WriteModel 更新数据库。

4

1 回答 1

0

在 ASP.NET Core 中有多个缓存选项。最简单的是内存缓存,然后使用 SQL Server 或 Redis 扩展为分布式缓存。有关更多详细信息,请参阅这些文章:

您是正确的 OnPost 需要重新加载要显示的数据。Web 请求是无状态的,因此无需缓存数据就需要重新查询。您可能会更改代码以使用 JavaScript,以便从购物车中删除选项对服务器进行 AJAX 调用,如果项目成功删除,则更新 UI。这避免了重新加载数据的往返。

于 2018-12-10T19:32:39.797 回答