【问题标题】:Publish Blazor WASM error after update Visual Studio 2022 to 17.0.4将 Visual Studio 2022 更新到 17.0.4 后发布 Blazor WASM 错误
【发布时间】:2022-01-20 03:33:08
【问题描述】:

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

在下载到用户浏览器时,我使用 BrotliDecode 来保持 Blazor WASM 的最小尺寸,就像 here 中提到的 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,则此错误仅出现在非 www url 上。在 url 中,应用程序正常工作。当我尝试登录服务器时,通常是“/Identity/Account/Login”,它会将我重定向回主页。我在这里有点困惑。

已编辑:此错误仅在 Google Chrome 中发生,并且仅在不带 www 的 url 中发生,我的应用程序在带或不带 www 的 Firefox、Edge 和 Opera 上完美运行。因此,我不确定这是 Chrome 问题还是我的配置有问题。

【问题讨论】:

    标签: c# .net visual-studio blazor webassembly


    【解决方案1】:

    对于任何寻找答案的人。我联系了 Azure 应用服务团队,这是一个已知问题,.NET 团队已经在解决这个问题。

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

    1/ 删除没有 www 的自定义域。来自 Azure 应用服务中的自定义域。

    2/ 从记录部分中删除 Godaddy 上的 A 记录和 TXT asuid。

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

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

    5/ 从 Godaddy 中删除该转发。

    6/ 删除 Godaddy 自动创建的用于转发到www.yourdomain.com 的记录。

    7/ 使用不带 www..的域在 Azure 应用服务上添加新的自定义域。

    8/ 删除没有www的域的旧私钥证书。如果你忘记删除了。

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

    10/ 将新的私钥证书添加到不带 www 的域中。

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

    这只是一种欺骗 Google Chrome 以重新调整您的网址的方法。转发和删除转发是我解决这个问题的方法。

    【讨论】:

    • Hi Duy Lan Le,很高兴知道您找到了解决此问题的解决方案!请考虑接受它作为将其状态更改为已回答的答案。见can I answer my own question..,只是一个提醒:)
    猜你喜欢
    • 2022-11-18
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 2021-03-22
    • 2022-07-02
    • 2022-06-21
    • 2022-08-03
    相关资源
    最近更新 更多