2012-12-17 26 views
0

我有一個Silverlight 5應用程序,可以在瀏覽器和瀏覽器外使用。當瀏覽器用完時,它應該能夠使用以前下載的數據(XML和JPG)在沒有Internet連接的情況下工作。Silverlight OOB應用程序在離線啓動時未捕獲的異常

目前它能正常工作,但我在啓動過程中遇到了一個未處理的異常(它被我的Application的UnhandledException事件處理程序捕獲),並顯示給用戶一個可怕的消息 - 類似於「內部錯誤 - 應用程序可能崩潰現在。'可選細節爲'E_UNEXPECTED'。錯誤發生在我的開發機器和其他人,包括使用MacOS X的客戶端。

當然,我可以更改消息,但這不是重點。

所以我的問題:什麼可能會導致一個錯誤,只有當離線啓動,錯誤,當一個UnhandledException處理程序捕獲,似乎不會影響應用程序的穩定性?

回答

0

我發現了罪魁禍首(通過記錄我的啓動步驟):這是檢查更新。

如果我在沒有可用連接時致電Application.CheckAndDownloadUpdateAsync(),我會得到此例外。如果在啓動檢查更新之前檢查連接是否可用(*),則異常消失。

這在http://msdn.microsoft.com/en-us/library/dd730310%28VS.95%29.aspx中沒有記錄,所以它看起來像是Silverlight運行時中的一個錯誤。

(*)主要基於NetworkInterface.GetIsNetworkAvailable(),加上一些自定義檢查。

相關問題