blazor - 手动更新 Blazor WebAssembly 应用程序

标签 blazor single-page-application service-worker blazor-webassembly

我们即将发布我们的第一个 Blazor WebAssembly 独立应用程序(即不托管在 .Net Core 上)。我已经爱上了 Blazor,并期待用它制作一些很棒的应用程序!然而推送应用程序更新一直很头疼!似乎有一个难以更新的持久缓存,而且 super 烦人!可能是我缺乏理解,但它似乎并不像每个人所说的那样有效。

我想构建某种应用程序版本控制系统以及一种通知用户更新可用的方法。最重要的是,我想让用户能够手动执行更新……但是很难搜索这个主题。我一定没有使用正确的关键字,因为似乎没有关于 Blazor 的文档?

如果我将 Blazor 排除在我的搜索查询之外,如果我理解正确的话,其他 SPA 应用程序似乎会通过 Service Worker 执行此操作?然而,这本身就是另一个很深的主题,如果我的理解正确的话,显然我必须学习一些东西?

任何人都可以引导我朝着正确的方向学习如何创建这样的更新过程吗?

最佳答案

好的...所以我的答案是暂时的补丁。花了一段时间才弄清楚,因为我知道发生了什么……无法像我想要的那样清除缓存……我只是不明白为什么。 Blazor 上有很多教程和培训,但 service worker 应该是 WebAssembly 应用程序应该包含的教程和培训之一。不幸的是,此时我找不到任何东西,直到我将 Blazor 排除在我的 Google 搜索之外,并且只是研究一般的 SPA 缓存问题。

诚然,Service Worker 本身并不是 Blazor 特定的技术……但是,如果您正在构建 SPA,那么您至少应该了解并学习如何使用它。然而,这不是一个简单的主题,所以现在我只是注释掉了 service-worker.published.js 中的所有代码,并将其替换为用于开发的一个 liner service worker,即 service-worker.js 文件: enter image description here

我知道这不是最终解决方案...最终我将不得不开始学习如何充分使用 Service Worker。但现在它可以正常工作,因为我希望我的开发更改立即可用。

关于blazor - 手动更新 Blazor WebAssembly 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66905652/

相关文章:

c# - JWT 不会使用 Blazor 存储在 ASP.NET Core 中

single-page-application - 如何将 Durandal.js 配置为在同一个文件夹中拥有多个具有 View 和 View 模型的区域?

javascript - 服务人员 : Invalidate specific cached responses

azure - 从 Blazor Web assembly 独立连接到受 Active Directory B2C 保护的 Azure Function App

asp.net - Blazor 性能

c# - Blazor:没有 session /JWT token 时重定向到登录页面?

ember.js - 生成 ember 应用程序的最佳方法是什么?

azure - 在公共(public) SPA 上使用文本转语音 Azure 服务(无需身份验证)

ios - 作为主屏幕启动的 Web 应用程序在页面更改后切换到浏览器模式

javascript - 什么是 "DOMException: Entry already exists"?