when i'm going to one page to another page that time showing my computer memory usage high.
using ChromiumWebBrowser data with CefSharp and transfring 1 url page to other url page more then 20 time that time showing my computer memory high usage
Image
MemoryUsage.png - Google Drive[
^]
What I have tried:
Page Load Time
public void WebURLBind()
{
BtnGo.Enabled = false;
try
{
WebsitePath = ConfigurationManager.AppSettings["WebsiteURL"];
datecurrent = dateTimePicker1.Value;
datetotalsecond = ConvertToTimestamp(datecurrent);
settings.CachePath = AppDomain.CurrentDomain.BaseDirectory + "cache";
settings.CefCommandLineArgs.Add("disable-application-cache", "1");
settings.CefCommandLineArgs.Add("disable-session-storage", "1");
Cef.Initialize(settings);
Cef.GetGlobalCookieManager().DeleteCookies("", "");
browser = new ChromiumWebBrowser(WebsitePath);
this.panel1.Controls.Add(browser);
browser.LoadingStateChanged += browser_FrameLoadEnd;
browser.Dock = DockStyle.Fill;
browser.LoadingStateChanged += ChromiumBrowser_IsLoadingChangedAsync;
}
catch (Exception ex)
{
BtnGo.Enabled = true;
}
}
private void browser_FrameLoadEnd(object sender, LoadingStateChangedEventArgs e)
{
Thread.Sleep(1000);
browser.ExecuteScriptAsync("PopulateWeeklyEvents(" + datetotalsecond + ",'',true)");
Thread.Sleep(1000);
browser.ExecuteScriptAsync("$('#earnings_rel_data_all_table_info').parent('div').find('div.dataTables_length').find('label').find('select').val(-1);");
browser.ExecuteScriptAsync("$('#earnings_rel_data_all_table_info').parent('div').find('div.dataTables_length').find('label').find('select').trigger('change');");
}
public async void ChromiumBrowser_IsLoadingChangedAsync(object sender, CefSharp.LoadingStateChangedEventArgs e)
{
if (!e.IsLoading)
{
if (IsAactiveForm)
{
await StartMethodAsync();
}
}
}
<pre> public async Task StartMethodAsync()
{
result = await this.browser.GetSourceAsync();
result = result.Trim();
doc.LoadHtml(result);
Boolean isBreaked = false;
foreach (var nodesection in doc.DocumentNode.SelectNodes("//section[@id='events_list']"))
{
foreach (var SecNodes in nodesection.ChildNodes)
{
if (SecNodes.Name == "ul")
{
foreach (var cnode in SecNodes.ChildNodes)
{
test++;
if (cnode.Name == "li" && cnode.HasClass("ui-tabs-active"))
{
csvFileName = cnode.InnerText;
Thread.Sleep(1000 * 3);
getTabData(csvFileName);
isBreaked = true;
break;
}
}
}
if (isBreaked)
break;
}
if (isBreaked)
break;
}
if (IsAactiveForm)
{
await CallMethod();
}
}