Во-первых, PWA и сам работник службы отделяются от сервера, который в вашем случае равен ASP. NET.
Что касается того, что вы кэшируете, и как все это зависит вы. Вам нужно определить, что лучше всего подходит для вашего пользовательского опыта.
В некотором смысле, сервисный работник может рассматриваться как веб-сервер, и вам приходится кодировать прикладной уровень для управления вашими запросами.
НЕ go орехи и попытайтесь воссоздать ваш ASP. NET и все логи сервера c в сервисном работнике. Не то, что вы должны делать там. Я уже видел это слишком много раз.
У меня есть статья, в которой описываются основные принципы кэширования работника службы, если это поможет. https://love2dev.com/blog/service-worker-cache/