2013-09-28 15 views
5

muszę małą pomoc Stworzyłem małą aplikację physioit dla Windows Phone 8.facebook loginbutton SDK w C# awarii aplikacji

Dodałem facebookclient loginbutton w moim pliku XAML. Teraz, gdy w moim telefonie nie ma połączenia transmisji danych, a po uruchomieniu kodu, daje mi to TargetInvocationException i moja aplikacja ulega awarii.

Oto wyjątek Dostaję -

innerException 
{Facebook.WebExceptionWrapper: The remote server returned an error: NotFound. ---> 
     System.Net.WebException: The remote server returned an error: NotFound. 
at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) 
at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClasse.<EndGetResponse>b__d(Object sendState) 
at System.Net.Browser.AsyncHelper.<>c__DisplayClass1.<BeginOnUI>b__0(Object sendState) 
--- End of inner exception stack trace ---}   

System.Exception  {Facebook.WebExceptionWrapper} 

Jak mogę złapać ten wyjątek?

używam facebook SDK, aby utworzyć loginbutton

Oto fragment kodu

<facebookControls:LoginButton 
    x:Name="loginButton" 
    Grid.Row="2" 
    Margin="5" 
    HorizontalAlignment="Right" 
    FetchUserInfo="True"  
    ApplicationId="xxxxxx" 
    SessionStateChanged="OnFacebookSessionStateChanged" 
    UserInfoChanged="OnFacebookUserInfoChanged" 
    AuthenticationError="LoginButtonAuthenticationError" /> 

Czy możesz mi pomóc.

+0

Niezły chwyt, to jest dziwne. Przypuszczam, że nie powinno to powodować awarii aplikacji po projekcie. Czy zgłosiłeś ten problem na https://github.com/facebook-csharp-sdk/facebook-csharp-sdk/issues? dwóch możliwych obejścia są 1) nie używając przycisku logowania do logowania 2) nie załączając ApplicationId dopóki nie jesteś pewny, że nie ma połączenia z Internetem (trudne) –

+1

tylko przypuszczenie - upewnij się, że masz włączone wszystkie funkcje facebook sdk wymaga w pliku wmappmanifest.xml –

Odpowiedz

0

Można użyć NetworkInterface, aby sprawdzić, czy połączenie danych jest dostępne, a następnie pozwolić przycisk logowania, aby wykonać jego działanie.

Coś takiego ..

if(System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) 
//Allow login button 
else 
//Message user - no internet connection 
Powiązane problemy