Принудительная перезагрузка клиента Blazor после публикации изменений - PullRequest
4 голосов
/ 12 апреля 2020

У меня есть приложение Blazor, которое я развертываю на Azure для некоторого альфа-тестирования. Мне удалось это сделать, и я могу нормально запустить приложение с веб-сайта.

Проблема возникает, когда я вносю изменения в проекты клиента и сервера и повторно публикую их sh. Какой бы браузер ни работал, клиент будет работать с тем, что уже находится в кэше браузера, пока история браузера не будет очищена. Это означает, что до тех пор, пока история не будет очищена, приложение будет выглядеть неработающим, потому что запросы клиентов в старой версии не соответствуют новому API сервера - не говоря уже о том, что мои изменения на стороне клиента не проходят тестирование.

Как я могу принудительно перезагрузить клиента, когда я публикую sh мои изменения? Нужно ли указывать браузеру не кэшировать мое приложение (не знаю, как на блейзоре) и снижать производительность, пока мое приложение не стабилизируется? Или есть способ принудительной перезагрузки клиента после первого вызова API с использованием некоторого промежуточного программного обеспечения или чего-то еще?

Или я что-то упустил?

Редактировать: Возможно, уместно, что я использовал PWA шаблон, представленный в Blazor WebAssembly 3.2.0 Preview 2. Я все еще запускаю приложение из браузера, но кажется возможным, что включение параметра PWA изменило поведение приложения даже при запуске его как обычного веб-сайта.

1 Ответ

3 голосов
/ 16 апреля 2020

Поскольку ваше приложение является PWA, вы можете объявить файл js для регистрации в объекте navigator.serviceWorker. Этот my. js файл может содержать const CACHE_VERSION = 1.0. Обновление этого значения должно заставить клиента загружать последние файлы. См. сообщение в блоге Джереми Ликнесса для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...