Razor Pages ASP.NET Core кэш-свойства onGet - PullRequest
0 голосов
/ 09 декабря 2018

Есть ли способ кэшировать данные, которые загружены в методе onGetAsync?Например, мы загружаем данные из базы данных в onGetAsync и привязываем их к нашим свойствам.

Мне интересно, есть ли способ сохранить эти данные в кэше / сохраненными, чтобы метод onPostAsync не делалМне нужно перезагрузить все это и снова попасть в базу данных.В настоящее время мы загружаем данные в конструктор PageModel, чтобы он загружался дважды.

Например, у нас есть remove from cart, который удаляет элемент из корзины покупок, поэтому мы хотим продолжить показ корзины покупок.страницы, так что return Page(); происходит, но нам, очевидно, необходимо перезагрузить все данные, что крайне неэффективно.

Я думаю, что это может произойти, так как мы все равно должны обновить базу данных с нашей WriteModel.

1 Ответ

0 голосов
/ 10 декабря 2018

В ASP.NET Core есть несколько вариантов кэширования.Самым простым является кэш в памяти, а затем расширение до распределенных кешей с использованием SQL Server или Redis.Дополнительные сведения см. В этих статьях:

Вы правы, что OnPost должен перезагрузить данные, которые будут показаны.Веб-запросы не имеют состояния, поэтому без кэширования данные необходимо запрашивать.Вы можете изменить код для использования JavaScript, чтобы опция удаления из корзины выполняла AJAX-вызов на сервер и, если элемент был успешно удален, обновите пользовательский интерфейс.Это позволяет избежать повторной загрузки данных.

...