gpt4 book ai didi

c# - Xamarin HttpClient 请求超时

转载 作者:行者123 更新时间:2023-12-02 15:15:46 25 4
gpt4 key购买 nike

在 Xamarin.Forms 应用程序中,我尝试连接到 Exosites api(它不是项目的一部分,因此我无法更改该 API,例如 SignalR 等)。

这对于“正常”请求来说一切正常。

API 还支持长轮询请求 - 在 manual 中它表示客户端必须为请求设置 header “Request-Timeout”。

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, requestUri);
request.Headers.Add("Request-Timeout", "10000");
var response = await client.SendAsync(request);

但是这样做,即使我将超时设置为非常小的值(例如 1(毫秒)),我也不会得到任何答复。如果我对 Exosites 上另一个端点的请求设置超时,而该端点不检查它,则它可以正常工作。发送完全相同的请求而不带“Request-Timeout” header 也可以正常工作。

有人有使用 HttpClient 在 Xamarin 中进行长轮询调用的经验吗?

非常感谢!

楚格

最佳答案

实际上,比这容易得多。

using (var client = new HttpClient())
{
client.Timeout = TimeSpan.FromSeconds(_timeoutSeconds);
}

PS:请务必将 new HttpClient() 包装在 using block 中。

关于c# - Xamarin HttpClient 请求超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34643350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com