2013-09-28 43 views
5

Tôi cần một sự giúp đỡ nhỏ tôi đã tạo ra một ứng dụng physioit nhỏ cho windows phone 8.facebook loginbutton sdk trong C# đâm đơn

Tôi đã thêm facebookclient loginbutton trong file XAML của tôi. Bây giờ khi không có kết nối dữ liệu trong điện thoại của tôi và khi tôi chạy mã, nó cho tôi TargetInvocationException và ứng dụng của tôi bị treo.

Dưới đây là ngoại lệ Tôi nhận được -

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} 

Làm thế nào tôi có thể bắt ngoại lệ này?

Tôi đang sử dụng sdk facebook để tạo ra các loginbutton

Dưới đây là đoạn mã

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

bạn có thể vui lòng giúp tôi ra.

+0

đẹp bắt, đó là lạ. Tôi cho rằng nó không nên làm hỏng ứng dụng bằng cách thiết kế. Bạn đã báo cáo sự cố tại https://github.com/facebook-csharp-sdk/facebook-csharp-sdk/issues chưa? Hai cách giải quyết có thể được 1) không sử dụng nút đăng nhập để đăng nhập 2) không gắn ApplicationId cho đến khi bạn chắc chắn rằng có khả năng kết nối Internet (khó khăn) –

+1

Chỉ cần một đoán - chắc chắn rằng bạn đã bật tất cả các khả năng facebook sdk yêu cầu trong tệp wmappmanifest.xml của bạn –

Trả lời

0

Bạn có thể sử dụng NetworkInterface để kiểm tra xem kết nối dữ liệu có khả dụng hay không và sau đó cho phép nút đăng nhập thực hiện hành động của nó.

Something như thế này ..

if(System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) 
//Allow login button 
else 
//Message user - no internet connection 
Các vấn đề liên quan