Механизм поддержания актуальной версии клиента в SPA
#frontend #version #client #update
1) Сделать контроллер версии приложения, без авторизации
2) В нем открытый метод, который берет номер версии из конфига appsettings.json (или иного хранилища)
3) Во фронте сделать скрытый компонент, который проверяет каждые N секунд (и при старте страницы) версию на сервере
4) Результат версии писать в cookies и сравнивать с ново-полученным, если версия с сервера больше, то выводить уведомление о том, что версия поменялась, с кнопкой обновляющей страницу и кэш
5) При публикации нового фронта - менять версию в backend с рестартом, или вынести версию в базу данных а на backend грузить ее в MemoryCache с абсолютной экспирацией (например +5 минут)
reload(true) - перезагрузка без кэша
#frontend #version #client #update
1) Сделать контроллер версии приложения, без авторизации
2) В нем открытый метод, который берет номер версии из конфига appsettings.json (или иного хранилища)
3) Во фронте сделать скрытый компонент, который проверяет каждые N секунд (и при старте страницы) версию на сервере
4) Результат версии писать в cookies и сравнивать с ново-полученным, если версия с сервера больше, то выводить уведомление о том, что версия поменялась, с кнопкой обновляющей страницу и кэш
window.location.reload(true);
5) При публикации нового фронта - менять версию в backend с рестартом, или вынести версию в базу данных а на backend грузить ее в MemoryCache с абсолютной экспирацией (например +5 минут)
reload(true) - перезагрузка без кэша