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

Xamarin.forms 为什么AzureMobileClient.LoginAsync(提供者、令牌)需要这么长时间?,xamarin.forms,xamarin.ios,azure-mobile-services,Xamarin.forms,Xamarin.ios,Azure Mobile Services,我有一个Xamarin表单应用程序,它由一个PCL项目、iOS和Android组成。我已经为Google和Facebook实现了本机登录,它们工作正常,并且返回身份验证令牌。然而,一旦我收到代币,我就会打电话 var user = Client.LoginAsync(Google, token); 请求通过,但有时请求需要15秒以上!我90%的LoginAsync呼叫可能需要15秒以上的时间。另外10%的工作速度很快。我试着在iOS项目而不是PCL项目中进行调用,但结果相同。我搜索了Azure

我有一个Xamarin表单应用程序,它由一个PCL项目、iOS和Android组成。我已经为Google和Facebook实现了本机登录,它们工作正常,并且返回身份验证令牌。然而,一旦我收到代币,我就会打电话

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

请求通过,但有时请求需要15秒以上!我90%的LoginAsync呼叫可能需要15秒以上的时间。另外10%的工作速度很快。我试着在iOS项目而不是PCL项目中进行调用,但结果相同。我搜索了AzureMobileClient的性能问题,但没有找到任何结果。一切看起来都是正确的,因为最终请求返回,但15秒以上的请求正在扼杀我的登录过程!Facebook也是如此。有什么建议吗?

请求在整个应用程序中花费了很长时间。我把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;

我想是慢网络吧?你看的是错误的表演。登录完成一次。如果你想象它,谁会真的在乎它是否需要几秒钟呢?它也需要20秒以上的时间很多次。一定是出了什么问题。不应该是网络你有更多关于你是如何做到这一点的信息吗?当然,给我一点,我会回答这个@Bejascthanks伙计,我很感激。同时,我还发现并正在测试列出的方法。我不确定这是否与您正在做的工作接近。这也是我使用现代http客户端的路线,尽管您希望获得正确的版本。我相信最初的nuget软件包已经过时了。在这里使用这个@bejasctanks。我已尝试使用您提供的软件包,并更新了我的Microsoft.Azure.Mobile.Client和Microsoft.Azure.Mobile.Client.SQLiteStore,但我没有看到任何速度的提高。我采取的步骤是替换client=newmobileserviceclientazureurl;当client=new MobileServiceClientazureURL时,新的ModernHttpClient.NativeMessageHandler;。也许我遗漏了什么?