tsc*_*ege 2 c# xamarin xamarin.forms
在 Xamarin.Forms 应用程序中,我尝试连接到 Exosites api(它不是项目的一部分,因此我无法更改 SignalR 左右的那个)。
对于“正常”请求,这一切都很好。
api 还支持长轮询请求 - 在手册中它说客户端必须为请求设置标头“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);
Run Code Online (Sandbox Code Playgroud)
但是这样做,我没有得到任何答复,即使我将超时设置为非常小的值,例如 1 (ms)。如果我对 Exosites 上的另一个端点的请求设置超时,但它没有检查它,它工作正常。发送没有“Request-Timeout”标头的完全相同的请求也可以正常工作。
有没有人有使用 HttpClient 在 Xamarin 中进行长轮询调用的经验?
非常感谢!
切格
实际上,这比这要容易得多。
using (var client = new HttpClient())
{
client.Timeout = TimeSpan.FromSeconds(_timeoutSeconds);
}
Run Code Online (Sandbox Code Playgroud)
PS:请务必始终将您的包裹new HttpClient()在一个using块中。
| 归档时间: |
|
| 查看次数: |
8952 次 |
| 最近记录: |