2012-02-22 42 views
0

我正在使用異步ctp並且有一個在後臺運行的任務。它運行良好,但運行時應用程序異常時會拋出異常。異常與數據庫上下文爲空有關。當應用程序墓碑時,優雅地處理後臺任務

的文檔說:

當應用程序邏輯刪除,底層數據庫連接 被關閉。要在邏輯刪除後返回到之前的狀態, 應用程序需要重做它在執行邏輯刪除之前執行的任何查詢。

我嘗試過使用cancellationtokesource,但這似乎不工作,因爲連接已關閉。任何想法如何處理這樣的事情?

回答

0

我們對此也有一些問題,但移動應用程序的一般體系結構傾向於面向服務,所以大多數人不必擔心數據庫連接。處理墓碑通常是很容易出錯的 - 這個區域是我項目中多產的bug生成器之一。

作爲用戶體驗,在從墓碑醒來後而不是最後一次屏幕後返回到開始屏幕是可以的(不是很好)。否則,您可以緩存已有的數據 - using the IsolatedStorage並嘗試重新執行屏幕。

+0

是的,我看到崩潰的數字,但沒有投訴,所以我假設他們開始的過程和退出,然後它的墓碑和崩潰。在這種情況下,雖然我認爲這是造成或可能導致數據庫損壞問題。 – 2012-02-22 19:24:40

相關問題