0

我有一个 Silverlight 5 应用程序,可以在浏览器中和浏览器外运行。当浏览器用完时,它应该能够使用以前下载的数据(XML 和 JPG)在没有 Internet 连接的情况下工作。

目前它可以工作,但是我在启动期间遇到了一个未处理的异常(被我的应用程序的 UnhandledException 事件处理程序捕获),它向用户显示了一条可怕的消息——比如“内部错误——应用程序现在可能崩溃”。可选详细信息为“E_UNEXPECTED”。该错误发生在我的开发机器和其他机器上,包括使用 MacOS X 的客户端。

当然,我可以更改信息,但这不是重点。

所以我的问题是:只有在离线启动时才会导致错误,当被 UnhandledException 处理程序捕获时,似乎不会影响应用程序稳定性的错误?

4

1 回答 1

0

我找到了罪魁祸首(通过记录我的启动步骤):检查更新。

如果我Application.CheckAndDownloadUpdateAsync()在没有可用连接时调用,我会收到此异常。如果我在启动更新检查之前检查连接是否可用(*),异常就会消失。

这在http://msdn.microsoft.com/en-us/library/dd730310%28VS.95%29.aspx中没有记录,因此它看起来像 Silverlight 运行时中的错误。

(*) 主要基于NetworkInterface.GetIsNetworkAvailable(),加上一些自定义检查。

于 2012-12-17T15:23:13.063 回答