You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor Server发送Post请求后无响应及自愈问题咨询

问题:Blazor Server调用WebAPI Post请求冻结,返回200但无后续动作(现已自行恢复)

我有一个Blazor Server应用和ASP.NET Core WebAPI项目,用GetAsync()能正常从API获取所有数据,但发送Post请求后应用会直接冻结,没有任何反应。查看命令窗口日志显示请求已返回200:

info: System.Net.Http.HttpClient.BedrijvenApiClient.ClientHandler[101]
      Received HTTP response headers after 1067.2083ms - 200
info: System.Net.Http.HttpClient.BedrijvenApiClient.LogicalHandler[101]
      End processing HTTP request after 1074.1642ms - 200

明明请求被接收且返回了成功状态,但应用就是没后续动作,也没抛出任何异常。用Postman测试这个API接口是正常能拿到结果的。

休息了一会儿后我没修改任何代码,再次尝试却正常运行了,完全搞不懂为什么之前不行现在又好了,非常困惑。

相关代码

Blazor端发送Post请求的代码:

public async Task<HttpResponseMessage> PostBedrijfAsync(string b)
{
    var y = await _httpClient.PostAsJsonAsync<string>($"/bedrijven/{b}","");
    return y;
}

WebAPI控制器中的处理方法:

public async static Task<OBedrijf?> CreateBedrijf(string btw)
{
    Bedrijven x = await Bedrijven.GetCreateByVat(btw);
    return x == null ? null : new OBedrijf(x.id, x.Naam, x.Co, x.BTW, x.Straat, x.Nummer, x.Bus, x.Zip, x.Stad, x.Taal, x.Opmerking, x.Email, x.Betalingsvoorwaarden, x.voordeeltarief);
}

这个方法在Blazor里直接调用能正常返回新的OBedrijf对象,Postman调用也能返回JSON格式的OBedrijf数据。

WebAPI的路由配置(Program.cs):

RouteGroupBuilder bedrijvenApi = app.MapGroup("/bedrijven");
bedrijvenApi.MapPost("/{btw}", (string btw) => BedrijvenController.CreateBedrijf(btw));

想请教的问题:

  • 我现在的Post请求写法是否正确?如果不对,正确的Post请求方式应该是怎样的?
  • 是否遗漏了什么配置?需要在Program.cs里添加额外内容吗?
  • 是不是缺少了相关的NuGet包?
  • 为什么没修改代码,只是休息了一会儿再试就正常了?

内容的提问来源于stack exchange,提问作者ItsProbablySomethingStupid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 07:38:23