2017-06-22 1 views
0

Je travaille sur un projet Xamarin.Forms, et j'ai un problème vraiment bizarre. Ce code est en cours d'exécution dans le projet Xamarin.Droid.Invoke InvokeApiAsync Mobile App Services

Lorsque je tente de le faire

var user = await client.LoginAsync(this, MobileServiceAuthenticationProvider.Facebook); 

if (user != null) 
{ 
    try 
    { 
     // executes this line 
     var userInfo = await client.InvokeApiAsync("/.auth/me"); 
     // down here nothing is executed and userInfo is never set with the data 
    } 
    catch (Exception e) 
    { 
     // never enter to this block 
    } 
} 

La variable userInfo est jamais définie avec les données, et aucune exception et rien rare dans la sortie.

J'ai déjà essayé client.InvokeApiAsync ("/. Auth/moi", HttpMethod.Get, null) mais ne fonctionne pas non plus.

Je sais que c'est une information assez courte mais je n'ai rien d'autre, car aucune exception n'est soulevée.

Merci.

Répondre

0

J'ai finalement compris quel était le problème. Le gestionnaire d'événements qui initie la logique d'authentification a renvoyé void au lieu de Task, de sorte que l'appel asynchrone ne se poursuit jamais après l'appel await.

Ceci est quelque chose pour rappeler.

Merci @Amor - MSFT pour votre réponse.

1

J'ai suivi this article pour ajouter une authentification à mon application Xamarin Forms. Ça a bien marché de mon côté. Il y a certaines choses que vous devez vérifier sur votre projet.

  1. Avez-vous publié votre Azure Mobile Service Azure et activez l'authentification Facebook & configuré app-id et secret.

enter image description here

  1. Avez-vous connecté votre service mobile de votre client mobile.

enter image description here