2013-09-28 2 views
5

мне нужна небольшая помощь я создал небольшой physioit приложение для Windows Phone 8.facebook loginbutton SDK в C# сбой приложения

Я добавил facebookclient loginbutton в моем файле XAML. Теперь, когда в моем телефоне нет подключения к данным, и когда я запускаю код, он дает мне TargetInvocationException, и мое приложение падает.

Вот исключение я получаю -

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} 

Как я могу поймать это исключение?

Я использую facebook SDK для создания loginbutton

Вот фрагмент кода

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

Можете ли вы помочь мне.

+0

Хороший улов, что это странно. Полагаю, что это не должно разрушать приложение по дизайну. Вы сообщили об этой проблеме на странице https://github.com/facebook-csharp-sdk/facebook-csharp-sdk/issues? Два возможных пути решения проблемы являются 1) не используя кнопку входа для входа в систему 2) не прикрепляя к ApplicationID, пока вы не будете уверены, что есть подключение к Интернету (сложно) –

+1

Просто догадка - убедитесь, что вы включили все возможности facebook sdk требуется в файле wmappmanifest.xml –

ответ

0

Вы можете использовать NetworkInterface, чтобы проверить, доступно ли соединение для передачи данных, а затем разрешить кнопке входа в систему выполнить свое действие.

Что-то вроде этого ..

if(System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) 
//Allow login button 
else 
//Message user - no internet connection 
Смежные вопросы