Стоит задача написания робота для обхода заданных URL на предмет того, живы ли они. Реализация на C# в виде библиотеки, которую будет использовать графический интерфейс. Вопрос в выборе технологии коммуникации библиотеки с приложением-интерфейсом. Процесс обхода может быть долгим, а клиенту требуется знать статус (прогресс). Можно ли тут полагаться на стандартный механизм событий (events, delegates) .NET? Поток ведь может зависнуть, если удалённый веб сервер не отвечает...