Почему AzureMobileClient.LoginAsync (поставщик, токен) занимает так много времени? - PullRequest
0 голосов
/ 28 января 2019

У меня есть приложение Xamarin Forms, которое состоит из проекта PCL, iOS и Android.Я ввел собственный логин для Google и Facebook, которые работают нормально, и они возвращают токен аутентификации.Однако, как только я получаю токен, я звоню

var user = Client.LoginAsync(Google, token);

Запрос проходит, но иногда запрос занимает более 15 секунд!90% моих вызовов LoginAsync, вероятно, занимают более 15 секунд.Остальные 10% на самом деле работают быстро.Я попытался сделать звонок в проекте iOS вместо проекта PCL, но у него был тот же результат.Я искал проблемы с производительностью, связанные с AzureMobileClient, но ничего не нашел.Кажется, все правильно, потому что в конце концов запрос возвращается, но 15+ секундных запросов убивают мой процесс входа в систему!Это также происходит с Facebook.Есть предложения?

1 Ответ

0 голосов
/ 09 февраля 2019

Запросы занимали много времени на протяжении всего приложения.Я поменял MobileServiceClient на HttpClient, и с тех пор все работает отлично.Я не уверен, какие издержки добавляет MobileServiceClient, но мое приложение перешло из непригодного в молниеносное состояние.

        var messageHandler = new NativeMessageHandler()
        {
            Timeout = new TimeSpan(0, 0, 8),
            EnableUntrustedCertificates = true,
            DisableCaching = true

        };
        client = new HttpClient(messageHandler);
        var uri = new Uri("example");
        client.BaseAddress = uri;
        client.MaxResponseContentBufferSize = 256000;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...