2012-11-25 10 views
5

)(SuspensionManager.SaveAsyncを呼び出すとき:例外私は、Windows 8アプリを構築することだし、次の例外が出ている

:次のコードを実行している場合

SuspensionManagerは

を失敗しました

private async void OnSuspending(object sender, SuspendingEventArgs e) 
{ 
    var deferral = e.SuspendingOperation.GetDeferral(); 
    await SuspensionManager.SaveAsync(); 
    deferral.Complete(); 
} 

例外は、メソッドの3行目で発生し、実際には詳細を示しません。

ネット上でこれに関する有用な情報を見つけることができませんでした。誰もこれを見たことがありますか?

// EDIT

これは、私は、Windows 8のFacebook SDK用dynamic型変数を使用している事実に関連することができます。

dynamic変数は許可されていませんか?例外の

dynamic result = await FB.GetTaskAsync("fql", parameters); 
if (result.data.Count > 0) 
{ 
    return result.data[0].src_big as string; 
} 

とコールスタック:

// EDIT 2

はここdynamic変数の使い方だ

mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task task) + 0x5e bytes 
mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task task) + 0x35 bytes 
mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.GetResult() + 0x16 bytes 
FacebookRandomizer.exe!FacebookRandomizer.App.OnSuspending(object sender, Windows.ApplicationModel.SuspendingEventArgs e) Line 86 + 0xa5 bytes C# 
[Native to Managed Transition] 

は、最初の3つは外部コードであり、四番目はApp.xaml.cの私のメソッドです。

答えて

2

答えを見つけました。これはFacebook-SDK関連のものではありません。

一時停止すると、私はpageStateにビットマップイメージを保存していましたが、これはうまくいきません。私の場合、それは簡単なのviewmodelクラスだった(私はシリアライズ可能なタイプを持っていた確実にすることによって、この問題を回避することができました

BitmapImage img = RandomImage.ImageSource as BitmapImage; 
Uri uriSource = img.UriSource; 
pageState["currentImage"] = uriSource; 
1

BitmapImage img = RandomImage.ImageSource as BitmapImage; 
pageState["currentImage"] = img; 

、新しいもの:

はここで古いコードです)。 Sharedプロジェクトの私のAppコンストラクタで、SuspensionManagerが自分のタイプについて知っていることを確認してください。標準のビルトインシリアライザが仕事をして、私は完了しました。

public App() { 
     // ... existing code ... 
     SuspensionManager.KnownTypes.Add(typeof(TypeOne)); 
     SuspensionManager.KnownTypes.Add(typeof(TypeTwo)); 
    } 
関連する問題