4

私は Windows Phone 8 アプリケーションを作成しており、Facebook ログインを使用してユーザーを識別しています。初めてログインすると、Facebook のログイン ダイアログが表示されますが、次回ユーザーがアプリケーションのログインを開始すると、バックグラウンドでログインが発生します。電話がインターネットに接続されている場合、これは非常にうまく機能しますが、ネットワークを閉じてアプリケーション FacebookSessionClient.LoginAsync メソッドを開始しようとすると、セッションが正常に返され、アプリケーションは通常の流れで続行します。しかし、突然 App.cs クラスで未処理の例外が発生します。


ここに私のスタックトレースがあります:

 $exception {System.Reflection.TargetInvocationException: An exception occurred during the operation, making the result invalid.  Check InnerException for exception details. ---> 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 ---
       --- End of inner exception stack trace ---
       at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
       at Facebook.OpenReadCompletedEventArgs.get_Result()
       at Facebook.Client.FacebookSessionClient.<SendAnalytics>b__0(Object o, OpenReadCompletedEventArgs e)
       at Facebook.HttpHelper.OnOpenReadCompleted(OpenReadCompletedEventArgs args)
       at Facebook.HttpHelper.ResponseCallback(IAsyncResult asyncResult, Object userToken)
       at Facebook.HttpHelper.<>c__DisplayClass2.<OpenReadAsync>b__0(IAsyncResult ar)
       at System.Net.Browser.ClientHttpWebRequest.<>c__DisplayClass1d.<InvokeGetResponseCallback>b__1b(Object state2)}  System.Exception {System.Reflection.TargetInvocationException

コード内の多くの場所で try catch ブロックを試みましたが、それだけではありません。また、app.cs で中断すると、別のスレッドからエラーが発生したことが示されます。

これは、ユーザーが以前にログインした場合にFacebookログインを呼び出す方法です

 FacebookSession facebookSession = await App.FacebookSessionClient.LoginAsync();

そしてすぐに戻り、現在のセッションを提供します。しかし、約 10 秒後にアプリがクラッシュします。そのエラーを正しく処理する方法、またはそれを防ぐ方法を誰かに教えてもらえますか? 私は0.8 facebook SDKバージョンを使用しています。

4

1 に答える 1

0

この質問を確認してください: Facebook Wrap Exception Wrapper

これは、GitHub リポジトリで既に修正されているのと同じバグですが、NuGet 経由ではまだ利用できません。問題の解決策は、NuGet でダウンロードするのではなく、ソースから Facebook.Client をビルドすることです。

于 2013-10-28T07:27:12.350 に答える