2014-11-29 3 views
0

Я использую службу входа Azure Mobile Services, она работает как ожидается в Windows 8.1, но на WP 8.1 показана страница входа в систему (Microsoft, Google и т. Д.).) Я ввел свои учетные данные, а затем он возвращается в приложение (не показывает согласия). Никакого исключения, ничего. Похоже, что поток заморожен, и управление возвращается в поток пользовательского интерфейса. В Windows 8.1 он вводит foo(), bar() или fooBar(), но в WP ничего не происходит после входа в систему LoginAsync в моем коде.MobileServiceClient.LoginAsync (..) не возвращается в WP 8.1

public RelayCommand<String> LoginCommand { 
     get { return _loginCommand ?? (_loginCommand = new RelayCommand<String>(Login)); } 
    } 

    private async void Login(string provider) 
    { 
     try 
     { 
      var u = await AzureClient.LoginAsync(provider); 
      foo(); 
     } 
     catch (InvalidOperationException iop) 
     { 
      //user canceled 
      bar(); 
      return; 
     } 
     catch (Exception ex) 
     { 
      fooBar() 
      return; 
     } 
    } 
+0

Как вы называете этот метод? Возможно, вы используете 'Task.Wait'? –

+0

Я обновил код с помощью определения метода. Я использую MVVMLight RelayCommand. Он вызывается из основного потока в представлении, создавая рабочий поток. – nimatra

ответ

3

Windows Phone 8.1 Логин использует для Windows Auth Брокера за кулисами и требует дополнительного вызова для того, чтобы Войти, чтобы завершить (благодаря поддержке нижних запоминающих устройств)

Что вам нужно также позвонить функция LoginComplete() в OnActivated способом, как показано в этом руководстве для Windows, универсального приложения:

http://azure.microsoft.com/en-us/documentation/articles/mobile-services-javascript-backend-windows-universal-dotnet-get-started-users/

0

Если вы обнаружите, что LoginComplete не существует потому это просто расширение

Смежные вопросы