Я использую консольное приложение Watin в C # для сканирования сайтов, одновременно запущено пять консольных приложений.
Причина, по которой я частично использую Watin в качестве сканера, заключается в том, что некоторые веб-сайты используют javascript (или ajax) для настройки содержимого страницы.
Ниже приведен пример кода для подсчета комментариев на странице:
Settings.Instance.MakeNewIeInstanceVisible = false;
using (var browser = new IE(commentLink, true))
{
browser.Link(Find.ByUrl(commentLink)).WaitUntilExists(20);
Span commentSpan = browser.Span("COUNT_TOTAL");
if (commentSpan.Exists)
{
int commentCount;
if (Int32.TryParse(commentSpan.InnerHtml, out commentCount))
{
return commentCount;
}
}
}
Моя проблема в том, что после запуска этих 5 консольных приложений некоторое время (90 минут), многие экземпляры IE остаются открытыми (из-за таймаута или ошибки или IE занят), поэтому система работает довольно медленно и требует перезагрузки .
Как мне изменить свой код, чтобы предотвратить это и сделать мои приложения эффективными?