将Visual Studio 2022更新到17.0.4后发布Blazor WASM错误



在我将Visual Studio 2022更新到17.0.4 版本后,我在将Blazor WASM项目发布到Azure应用程序服务时遇到了一个奇怪的问题

当下载到用户浏览器时,我使用BrotliDecode来保持我的Blazor WASM的最小大小,如中提到的Microsoft文档

我像往常一样进行了清理和重建,然后将其部署到我的Azure应用程序服务,我得到了错误

TypeError: Failed to execute 'arrayBuffer' on 'Response': body stream already read

blazor.webassembly.js:1 Uncaught (in promise) TypeError: Failed to execute 'arrayBuffer' on 'Response': body stream already read
at blazor.webassembly.js:1
at async blazor.webassembly.js:1
at async blazor.webassembly.js:1

奇怪的是,这个错误只出现在非www的url上,如果我试图在url中使用www,应用程序就会正常工作。当我试图在服务器上登录时/"身份/帐户/登录";,它会将我重定向回主页。我有点困惑。

编辑:这个错误只发生在Google Chrome中,只有url没有www.,我的应用程序在Firefox、Edge和Opera上运行得很好。因此,我不确定这是Chrome问题还是我的配置有问题。

适用于任何寻求答案的人。我联系了Azure应用程序服务团队,这是一个已知的问题,.NET团队已经在处理这个问题。

我用这个技巧解决了这个问题。

1/从Azure应用程序服务中的自定义域中删除我的自定义域,而不使用www。

2/从"记录"部分删除Godaddy上的一条记录和TXT asuid。

3/将转发域添加到www.yourdomain.com

4/等待一个小时,等待转发完成。

5/从Godaddy移除那个Forward。

6/删除Godaddy自动创建的记录,以便转发到www.yourdomain.com.

7/使用没有www..的域在Azure应用程序服务上添加新的自定义域

8/如果您忘记删除,请删除没有www.的域的旧私钥证书。

9/为您在上一步中创建的没有www的域创建一个新的私钥证书。

10/将新的私钥证书添加到没有www.的域中

11/等待几秒钟/分钟以使其生效。

如果您仍然存在此问题,重新安装Chrome将修复此问题

这只是一种欺骗谷歌浏览器重新调整你的网址的方法。转发和删除转发是我解决此问题的方法。

相关内容

  • 没有找到相关文章

最新更新