Blazor 启动错误:System.Threading.SynchronizationLockException:无法在此运行时上等待监视器

2024-02-05

我试图在 blazor(客户端)启动期间调用 api,将语言翻译加载到 ILocalizer 中。

此时,我尝试从获取请求中获取 .Result blazor 会在标题中抛出错误。

这可以通过在program.cs中调用此方法来复制

  private static void CalApi()
    {
        try
        {
            HttpClient httpClient = new HttpClient();
            httpClient.BaseAddress = new Uri(@"https://dummy.restapiexample.com/api/v1/employees");
            string path = "ididcontent.json";
            string response = httpClient.GetStringAsync(path)?.Result;
            Console.WriteLine(response);
        }
        catch(Exception ex)
        {
            Console.WriteLine("Error getting api response: " + ex);
        }

    }

Avoid .Result,很容易陷入僵局。您收到此错误是因为单线程 WebAssembly 不(不能)支持该机制。我认为这是一个功能。如果它可以等待监视器,它就会冻结。

private static async Task CalApi()
{
   ... 
   string response = await httpClient.GetStringAsync(path); 
   ...
}

所有事件和生命周期方法重写都可以async Task在 Blazor 中,所以您应该能够适应这一点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Blazor 启动错误:System.Threading.SynchronizationLockException:无法在此运行时上等待监视器 的相关文章

随机推荐

  • 如何使用 JavaScript/jQuery 按数组或对象中的多个项目建立索引?

    背景 我在 Ajax 调用返回的结果对象中有一个数据数组 数据如下 Name User1 Name1 FirstName User1 Id 005400000001234567 more Name User2 Name1 FirstName
  • 如何在 jQuery 中引用附加项?

    我想在 jquery 中创建并附加一个项目 同时保存对它的引用 var buy img src img buy now png var buy buy appendTo body buy html hello 我期待像上面这样的事情能够发挥
  • iOS spriteKit 子节点相对于视图坐标的位置

    我有一个子节点添加到另一个节点 我想获取子节点相对于视图坐标的位置 而不是父节点坐标 获取子节点position https developer apple com library ios documentation SpriteKit R
  • 复选框的图像替换

    我正在尝试使用复选框的自定义图像 如本问题所述 纯CSS复选框图像替换 https stackoverflow com questions 3772273 pure css checkbox image replacement 我的复选框出
  • 容器化 C# Winforms 应用程序

    我有一个独立的 Winform 应用程序 可以将其容器化到 docker 中 docker支持基于UI的应用程序吗 我是否需要 docker 来测试应用程序 对的 这是可能的 您将能够使用以下方式将其容器化https hub docker
  • 角度指令绑定到元素的高度

    我对 Angular 相当陌生 希望能够绑定到元素的高度 在我目前的情况下 我想绑定CSSbottom on el1达到el2 它们不共享公共控制器 我怎样才能做到这一点 div div div style height 573px div
  • 在 Pyramid Web 框架中,如何将敏感设置从外部文件导入到development.ini / Production.ini 中?

    我想保留development ini and production ini在版本控制下 但出于安全原因不希望sqlalchemy url要存储的连接字符串 因为这将包含用于数据库连接的用户名和密码 在 Pyramid 中 从其他外部文件获
  • 将 UILabel 的文本设置为粗体

    我想让 UILabel 的文本变为粗体 infoLabel UILabel alloc initWithFrame CGRectMake 90 150 200 30 infoLabel setText Drag 14 more Flavor
  • 创建订购和结帐系统,防止付款期间更改购物车

    因此 我有一个多页结账系统 它依赖于会话来存储购物车的内容 我还使用第三方系统来处理信用卡 该系统在其服务器上托管实际的支付页面 我只需将最终总数发布到页面即可 我预见的问题是 如果有人点击进入托管支付页面 然后出于某种合法或邪恶的原因更改
  • urlManager 在 Yii 2.0 中不工作

    我正在尝试学习 yii 2 0 目前我正在使用basicyii 2 0 版本 第一步是配置 url 所以根据指南 我启用了mod rewrite 使用检查它phpinfo 然后在中添加以下行components of config web
  • 将 'yyyymmdd hhmmss' 转换为 'mm/dd/yy hh:mm'

    我有一行数据 单元格 A3 及以下 其中包含 Unix 时间戳yyyymmdd hhmmss我试图转换成的格式mm dd yy hh mm format 自动地 当我的数据从单元格 A1 开始时 到目前为止 我的代码可以工作 但我需要 A1
  • 如何在集合获取中保留自定义属性

    我有一个 资产 骨干模型 它有一个名为 选定 的自定义属性 它是自定义的 因为它不是服务器端对象的一部分 我用它来表示用户当前选择的资产列表中的哪一个 var Asset Backbone Model extend defaults sel
  • 从 Spring Boot 应用程序运行 KSQL 的方式是什么

    我有一个连接到 kafka 集群的 Spring Boot 应用程序 如何从 java 代码运行 KSQL 目前 还没有直接的方法在java中使用KSQL作为库 有一个开放的问题 734 https github com confluent
  • Highcharts TypeScript,y 轴标签

    请参考讨论Highcharts y 轴文本标签 https stackoverflow com questions 4987457 highcharts text labels for y axis设置y轴标签的方法 I used http
  • GWT UiBinder 和图像精灵

    我无法让 CSS 图像精灵出现在 GWT UiBinder 中 我做了评论如何在 GWT 中使用图像精灵 https stackoverflow com questions 4535094 how do i use image sprite
  • 如何创建与环境无关的 JavaScript 库

    我正在创建一个 javascript 库 我希望它与环境无关 它不会使用 DOM AJAX 或 NodeJS api 它将是普通的 javascript 因此 它应该可以在任何 javascript 环境中运行 浏览器 npm meteor
  • 12因素应用程序存储配置的过程是什么?

    所以我一直将我的应用程序主要构建为 12 因素应用程序 现在查看配置部分 目前 我有用于开发和生产的单独配置文件 通过构建过程 我们可以构建开发或生产映像 代码 100 相同 唯一改变的是配置 现在我 100 明白 在 12 因素应用程序中
  • C++中iostream头的cout、cerr、clog有什么区别?什么时候使用哪一个?

    我尝试研究之间的区别cout cerr and clog在互联网上但找不到完美的答案 我仍然不清楚何时使用哪个 谁能通过简单的程序向我解释并说明何时使用哪个程序的完美情况 我参观过这个网站 http www tutorialspoint c
  • 嵌套向量与连续数组的性能影响

    是否有任何可靠的测试可以清楚地显示访问和写入嵌套向量与 C 内置数组之间的性能差异 我听说 与访问单个数组中的元素 所有元素都存储在连续的内存中 相比 使用嵌套 多维 向量通常会产生一些性能开销 但这对我来说似乎都是假设的 我还没有看到任何
  • Blazor 启动错误:System.Threading.SynchronizationLockException:无法在此运行时上等待监视器

    我试图在 blazor 客户端 启动期间调用 api 将语言翻译加载到 ILocalizer 中 此时 我尝试从获取请求中获取 Result blazor 会在标题中抛出错误 这可以通过在program cs中调用此方法来复制 privat