为什么AzureMobileClient.LoginAsync(提供者,令牌)需要这么长时间?

问题描述 投票:0回答:1

我有一个Xamarin Forms应用程序,它包含PCL项目,iOS和Android。我已经为Google和Facebook实现了原生登录,工作正常并且他们返回了身份验证令牌。但是,一旦我收到令牌,我就会打电话

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

请求通过,但有时请求需要超过15秒!我的LoginAsync调用的90%可能需要15秒以上。其他10%实际上工作得很快。我已尝试在iOS项目而不是PCL项目中进行调用,但结果相同。我搜索了与AzureMobileClient有关的性能问题,但我还没有找到任何东西。一切似乎都是正确的,因为最终请求返回,但15秒以上的请求正在杀死我的登录过程!这也适用于Facebook。有什么建议?

xamarin.forms xamarin.ios azure-mobile-services
1个回答
1
投票

整个应用程序的请求需要很长时间。我将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;
© www.soinside.com 2019 - 2024. All rights reserved.