【发布时间】:2019-05-10 08:23:35
【问题描述】:
有没有办法缓存onGetAsync方法中加载的数据?例如,我们从onGetAsync 中的数据库加载数据并将它们绑定到我们的属性。
我想知道是否有办法让这些数据保持缓存/持久化,这样onPostAsync 方法就不需要重新加载所有这些并再次访问数据库。目前我们在 PageModel 的构造函数中加载数据,所以它被加载了两次。
例如,我们有一个remove from cart,它从购物车中删除了一个商品,所以我们想继续显示购物车页面,所以会出现return Page();,但我们显然需要重新加载所有数据,这非常低效.
我认为这可能必须发生,因为无论如何我们都必须使用 WriteModel 更新数据库。
【问题讨论】:
-
如果您要缓存的数据适用于所有请求,那么缓存是最好的选择。如果它适用于单个用户,您应该考虑使用 Session 来代替。在此处查看有关 Razor 页面中状态管理选项的更多信息:learnrazorpages.com/razor-pages/state-management
标签: c# razor-pages asp.net-core-2.2