MaximDoshi
@MaximDoshi

Webbrowser в консольном приложении — нехватка памяти, почему?

При запуске приложения, примерно на 100й итерации цикла, приложение уже нереально тупит. В процессе вижу, что память постепенно увеличивается.
static void Main(string[] args)
        {
            var mThreadt = new Thread(getPage);
            mThreadt.SetApartmentState(ApartmentState.STA);
            mThreadt.Start();            
            }


static void getPage()
        {
StreamReader file = new System.IO.StreamReader(@"kw.txt");
while ((line = file.ReadLine()) != null)
            {
String GoogleHTML = String.Empty;
                using (WebBrowser browser = new WebBrowser())
                {
                    browser.ScriptErrorsSuppressed = true;
                    browser.Navigate("https://www.google.com.ua/search?q=");
                    while (browser.ReadyState != WebBrowserReadyState.Complete)
                        Application.DoEvents();
                    GoogleHTML = browser.DocumentText;
                }
}
}
  • Вопрос задан
  • 838 просмотров
Решения вопроса 1
Neuroware
@Neuroware
Программист в свободное от работы время
какой смысл с отдельного потока в консоли? Чтобы UI не тормозил?)
единственное что тут может быть это GC не успевает собирать мусор(ибо его будет много)
Можно добавить после завершения блока using код GC.Collect();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы