首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理异常的ApplicationDeployment.CheckForUpdateAsync方法

问处理异常的ApplicationDeployment.CheckForUpdateAsync方法
EN

Stack Overflow用户
提问于 2011-11-05 21:12:08
回答 1查看 438关注 0票数 3

我似乎在使用ApplicationDeployment.CheckForUpdateAsync方法时遇到了一个奇怪的问题。目前,我有一个定时器,它以预定的时间间隔检查服务器的更新。这样做的原因是,我们需要确保每个人都在使用最新的版本,并且当有新的版本可用时,通知每个人它是可用的。

但是,尽管如果服务器在线、出现网络错误或服务器在检查过程中离线时,.NET都能正常工作,但它会返回Socket或WebException错误。

我试着捕捉错误:

代码语言:javascript
复制
        try
        {
            _ad.CheckForUpdateAsync();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

例如,即使我将WebException或任何其他类型的异常放在该捕获中,它似乎也不能捕获它。我认为这是因为CheckForUpdateAsync()是在一个单独的线程上进行的。

有没有办法可靠地捕获这些错误,这样我就不会在操作过程中随机弹出.NET errors?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-05 21:31:49

您可以通过添加CheckForUpdateCompleted来检查ApplicationDeployment.CheckForUpdateAsync方法上的错误,甚至如下所示

代码语言:javascript
复制
ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;
ad.CheckForUpdateCompleted += new CheckForUpdateCompletedEventHandler(ad_CheckForUpdateCompleted);

在

代码语言:javascript
复制
void ad_CheckForUpdateCompleted(object sender, CheckForUpdateCompletedEventArgs e)
{
    if (e.Error != null)
    {
       // e.Error details here 
    }
}

可以从CheckForUpdateCompleted事件的InvalidDeploymentException属性中找到DeploymentDownloadException和Error详细信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8020382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档