Joh*_*rum 12 azure-web-app-service blazor
我有一个 Blazor 应用程序,我将它部署到 Azure 以进行一些 alpha 测试。我设法做到了这一点,并且可以很好地从网站上运行该应用程序。
当我对客户端和服务器项目进行更改并重新发布它们时,问题就出现了。无论浏览器在运行什么,客户端都将运行浏览器缓存中已有的内容,直到浏览器历史记录被清除。这意味着在清除历史记录之前,应用程序似乎已损坏,因为旧版本上的客户端请求与新服务器 API 不匹配 - 更不用说我的客户端更改没有得到测试。
发布更改时如何强制重新加载客户端?我是否必须告诉浏览器不要缓存我的应用程序(不确定如何在 blazor 上)并在我的应用程序稳定之前降低性能?或者有没有办法在第一次 API 调用后使用一些中间件或其他东西强制客户端重新加载?
或者我错过了什么?
编辑:我使用了 Blazor WebAssembly 3.2.0 Preview 2 中提供的 PWA 模板可能是相关的。我仍在从浏览器运行该应用程序,但启用 PWA 选项似乎可能改变了应用程序的行为,即使在将其作为常规网站运行。
如果有人寻找 Azure Pipelines 和 Azure Static Web App 部署的解决方案,以下是对我有用的方法:
const CACHE_VERSION = '{#CACHE_VERSION#}'
- master
pool:
vmImage: ubuntu-latest
steps:
- checkout: self
submodules: true
- bash: 'sed -i ''s/{#CACHE_VERSION#}/$(Build.BuildId)/'' MathApp/wwwroot/service-worker.published.js'
- task: AzureStaticWebApp@0
inputs:
app_location: 'MathApp'
output_location: 'wwwroot'
azure_static_web_apps_api_token: $(deployment_token)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3836 次 |
| 最近记录: |