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

.NET 4.7中C#代码发送HTTP请求时挂起问题求助

C# POST请求到本地Web服务挂起/返回状态码0,但Postman及开启Fiddler时正常

我最近遇到一个非常诡异的问题:用C#代码向本地Web服务发送POST请求时,请求经常长时间挂起,有时候甚至永久无响应,偶尔还会返回状态码0;但用Postman发送完全相同的请求,却能立刻得到200 OK的响应。

代码示例

使用HttpClient的代码:

class Program {
    static void Main(string[] args) {
        var response = new HttpClient().PostAsync("http://localhost/myservice", new StringContent("{ \"type\": \"confirmation\" }", Encoding.UTF8, "application/json"))
            .Result;
        Console.WriteLine(response.StatusCode);
    }
}

使用RestSharp的代码(同步、异步版本均尝试过):

var client = new RestClient("http://localhost/myservice");
var request = new RestRequest("api") { Method = Method.POST };
request.AddJsonBody(new { type = "confirmation" });
var response = client.Execute(request);

补充说明

  • 这段代码最初用于xUnit单元测试,在单元测试中运行也会出现同样的问题;
  • 已经排除防火墙问题:已将应用加入防火墙允许规则;
  • 尝试过重启机器,问题依旧;
  • 分别试过使用IIS 10和IIS Express托管本地服务,都无法解决问题。

关键线索

开启Fiddler抓包时,请求能正常得到响应;关闭Fiddler后,问题立刻重现,这让我完全摸不着头脑,恳请各位大佬帮忙分析可能的原因并提供解决建议。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:09:06