我想要做的事:UWP應用程序崩潰時沒有在調試模式下
對於我發展,我需要的用戶與他們的谷歌/ FB憑據登錄的UWP應用訪問應用程序的功能。爲此,我使用Auth0客戶端進行OAuth身份驗證。登錄成功後,用戶應該導航到MainPage.xaml。在調試應用程序時,這完全沒有問題。
XAML:
<Button Margin="0,45,0,0" Grid.Row="6" HorizontalAlignment="Center" Name="GoogleSignIn" Content="Sign in with Google+" Tag="google-oauth2" Click="OAuthSignin" />
<Button Margin="0,15,0,0" Grid.Row="7" HorizontalAlignment="Center" Name="FacebookSignIn" Content="Sign in with Facebook" Tag="facebook" Click="OAuthSignin" />
代碼隱藏:
private async void OAuthSignin(object sender, RoutedEventArgs e)
{
string oauthprovider = ((Button)sender).Tag.ToString();
try
{
Auth0User user = await App.auth0.LoginAsync(oauthprovider);
if (user != null)
{
//Add user to credential locker
}
}
catch(Exception ex)
{
ex.ToString();
}
finally
{
var nav = Template10.Common.BootStrapper.Current.NavigationService;
nav.Navigate(typeof(Views.MainPage));
nav.ClearHistory();
}
}
什麼錯:
由於應用程序被部署到模擬器,我停止調試和啓動應用程序通過點擊瓦片。我到達登錄頁面,輸入我的憑據。只要我一進入,我就會看到它回到登錄頁面並在不久之後崩潰。如果我重新打開應用程序這一點上,我看到,我已經登錄,並直接帶我到MainPage.xaml中(如應用程序邏輯)
我擔心:爲什麼不在調試模式時的行爲有所不同?這阻礙了我,因爲我無法通過斷點來確定是什麼導致了崩潰。
任何輸入將不勝感激。
P.S:我試過將應用程序部署到我Lumia 640,我也在手機上看到了同樣的問題(意思是說它不是仿真器相關的)。桌面版本工作正常(甚至在調試之外)。
嘗試啓用「使用.NET本地工具鏈編譯」調試配置,看看如果它崩潰,那麼太:http://stackoverflow.com/questions/34829321/install-an-appx-or-appxbundle-in-a-windows-phone-10/34836628#34836628 – Gaurav
調試和發佈之間的差異之一是PLM被禁用,應用程序不是s (我也會嘗試在那裏搜索,就像在桌面上一樣,因爲您已經說過沒有問題 - 桌面應用程序沒有被暫停)。您的登錄過程如何?你使用webauthentication經紀人嗎?在調試模式下,如果您需要暫停應用程序,請查看[此答案](http://stackoverflow.com/a/24103734/2681948)。 – Romasz
@Romasz,Auth0客戶端使用WebAuthenticationBroker。暫停應用程序不是問題。當我沒有調試並且啓動應用程序(在模擬器或真實電話上)時,它在等待App.auth0.LoginAsync(oauthprovider)後立即崩潰;聲明。 –