2012-12-17 29 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(),加上一些自定义检查。

相关问题