Как освобождать память после webbrowser - C#
Формулировка задачи:
webbrowser в цикле несколько раз открывается следующим способом:
Как мне после получения url закрыть страницу, чтобы освободить оперативную память.
И при этом, после того как цикл начнётся заново, снова открыть страницу, считать url и закрыть страницу.
webBrowser1.Dispose(); не помогает. Более того, на втором круге цикла ошибка: "Доступ к ликвидированному объекту невозможен".
Цикл должен работать так:
Открыл страницу в webBrowser1
сохранил url
удалил/закрыл страницу и освободил оперативную память
Открыл страницу в webBrowser1
сохранил url
удалил/закрыл страницу и освободил оперативную память
Открыл страницу в webBrowser1
сохранил url
удалил/закрыл страницу и освободил оперативную память
И так далее пока цикл не закончится.
for (int f = 0; f < serach.data.Count; f++)
{
string id = serach.data[f].id;
webBrowser1.Navigate("https://www.facebook.com/" + id);
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(go_get_url);
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
System.Windows.Forms.Application.DoEvents();
} private void go_get_url(object sender, WebBrowserDocumentCompletedEventArgs e)
{
true_id = e.Url.OriginalString;
}Решение задачи: «Как освобождать память после webbrowser»
textual
Листинг программы
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(go_get_url);
for (int f = 0; f < serach.data.Count; f++)
{
string id = serach.data[f].id;
webBrowser1.Navigate("https://www.facebook.com/" + id);
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
System.Windows.Forms.Application.DoEvents();
}