Кажется, у меня странная проблема с ApplicationDeployment.CheckForUpdateAsync
методом. У меня есть, в настоящее время, по таймеру, который проверяет сервер на обновление с заданным интервалом. Причина этого заключается в том, что мы должны обеспечить, чтобы все были в последней версии, и когда новая версия будет доступна, чтобы уведомить всех, что она доступна.
Однако, несмотря на то, что он работает нормально, если сервер подключен к сети, если имеется ошибка сети или сервер отключается во время проверки, .NET возвращает ошибку Socket
или WebException
.
Я пытался отловить ошибки:
try
{
_ad.CheckForUpdateAsync();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Например, но даже если я добавлю WebException
или любой другой тип исключения в этот улов, он, похоже, не поймает его. Я предполагаю, что это потому, что CheckForUpdateAsync()
происходит в отдельном потоке.
Есть ли способ надежно перехватить эти ошибки, чтобы у меня не было случайного .NET errors
, всплывающего во время работы?