我正在开发一个针对Windows Phone 8的应用程序。我尝试使用这个非常简单的例子来实现身份验证: http://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-users-wp8/,然后是这个: http://www.windowsazure.com/en-us/develop/mobile/tutorials/authorize-users-in-scripts-wp8/。对于我的应用程序来说,继续能够认证和控制用户访问是至关重要的。具体地,我的问题在这里:
它会重复这个过程,因为“user”从未被分配,原因是“登录已在进行中”。我找不到任何在线帮助,我已经搜索了这个错误,只得到了4个精确的问题,它们是github代码的一部分,据我所见没有任何帮助。
private async System.Threading.Tasks.Task Authenticate()
{
while (user == null)
{
string message;
try
{
user = await App.MobileService
.LoginAsync(MobileServiceAuthenticationProvider.MicrosoftAccount);
message = string.Format("You are now logged in - {0}", user.UserId);
}
catch (InvalidOperationException e)
{
message = e + "You must log in. Login Required";
}
MessageBox.Show(message);
}
}
以下是两个教程中几乎所有的代码,它从 user = await App.MobileService
.LoginAsync(MobileServiceAuthenticationProvider.MicrosoftAccount);
开始登录界面。但在接受登录凭据后,开始显示错误消息,该消息为:
+ $exception {System.InvalidOperationException: Cannot start a login operation because login is already in progress.
at Microsoft.WindowsAzure.MobileServices.MobileServiceClient.<SendLoginAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()
at SeeThrough.MainPage.<Authenticate>d__7.MoveNext()} System.Exception {System.InvalidOperationException}
它会重复这个过程,因为“user”从未被分配,原因是“登录已在进行中”。我找不到任何在线帮助,我已经搜索了这个错误,只得到了4个精确的问题,它们是github代码的一部分,据我所见没有任何帮助。