等待HttpClient.PostAsync()超时。我错过了什么吗?

时间:2016-11-10 12:12:40

标签: c# python asp.net-core

我有两个Web API,一个用.NET Core制作,另一个用Python制作。我正在尝试使.NET Core API在Python-Flask API中POST到端点并获得响应消息。

我正在使用System.Net.Http,但当它到达Await HttpClient.PostAsync()时,它会无限期挂起并最终超时。更奇怪的是,有时它完美无缺,连接并几乎立即得到响应而没有任何问题。

我试图调试Python-Flask API以尝试查找它是否被卡住,但它似乎从未实际到达Python-Flask API,它只是发送请求并无限期等待。

这是.NET Core API中的代码:

        HttpResponseMessage responseMessage = null;
        var pairs = new Dictionary<string, string>
        {
            {"key", key}
        };

        var keyContent = new FormUrlEncodedContent(pairs);
        var client = new HttpClient {BaseAddress = new Uri("http://localhost:5000/")};
        responseMessage = await client.PostAsync("token", keyContent);

这是向/ token端点发送密钥并等待响应。

如有必要,我还会添加Python-Flask API代码。在这种情况下,它将接收.NET Core API发送的密钥,验证它并发回一个令牌,但它从未到达它(当它到达它时它成功响应)我觉得它还没有必要。

我在这里遗漏了什么吗?它有效的事实有时会让我感到困扰。

0 个答案:

没有答案