Flurl не соблюдает настройки тайм-аута - PullRequest
0 голосов
/ 08 ноября 2019

Я использую flurl с 5-секундным таймаутом в формах Xamarin.

 flurlClient.Configure(settings => settings.Timeout = TimeSpan.FromSeconds(5));
 await flurlClient.Request("api", "ping", "phonehome").GetAsync();

При запуске по UWP тайм-аут работает нормально. Тем не менее, iOS и Droid работают целую минуту, несмотря на то, что установлены 5-секундные настройки.

Есть мысли о том, как это можно исправить?

ОБНОВЛЕНИЕ

Я смог заставить тайм-аут работать, используя вызов .WithTimeout(seconds). Тем не менее, я должен делать это при каждом запросе flurl. Не такая уж большая проблема, но я не уверен, почему метод .Configure не работает.

ОБНОВЛЕНИЕ 2

Вот что я вижу после реализации предложенных изменений @ ToddMenier. Тайм-аут установлен на 5 секунд, но на самом деле он занимает более минуты.

enter image description here

1 Ответ

0 голосов
/ 08 ноября 2019

То же самое работает для меня. Запуск на iPhone Simulator:

    private async void BtnTestFLUrl_Clicked(object sender, EventArgs e)
    {
        FlurlClient flurlClient = new FlurlClient("https://www.mocky.io/v2/5dc580f13200008200769b0f?mocky-delay=5000ms");
        flurlClient.Configure(settings => settings.Timeout = TimeSpan.FromSeconds(3));
        var result = await flurlClient.Request("").GetAsync();
    }
...