C# 2 доработки в функцию загрузки вебстраницы через Cefsharp
17 PLNЕсть функция загрузки вебстраницы через Cefsharp. Нужно ее оптимизировать с учетом рекомедации поддержки вот в этой теме https://github.com/cefsharp/CefSharp/discussions/3558:
1. Убрать блокировку потока: "The browser is designed to be async, please use await or ContinueWith rather than blocking the thread. Whilst this may work it is not supported. "
2. Реализовать частичную загрузку (при которой, мы не дожидаемся полной прогрузки страницы, а останавливаем процесс загрузки, когда он достигает стадии "interactive")
Исходная функция:
public virtual void LoadUrlCore(string url)
{
if (String.IsNullOrEmpty(url)) return;
var tcs = new TaskCompletionSource<bool>();
EventHandler<LoadingStateChangedEventArgs> handler = null;
handler = (sender, args) =>
{
if (!args.IsLoading)
{
Browser.LoadingStateChanged -= handler;
tcs.TrySetResultAsync(true);
}
};
Browser.LoadingStateChanged += handler;
if (!string.IsNullOrEmpty(url))
{
Browser.Load(url);
}
if (!tcs.Task.Wait(TimeSpan.FromMilliseconds(LoadTimeoutMs)))
throw new TimeoutException("Load timeout");
}
Aktualne zlecenia dla freelancerów w kategorii C#
Dopracowanie 1C UT 11 dla TSD Zebra (RDP): różne sygnały dźwiękowe podczas skanowania
84 PLN
Konfiguracja: 1C UT 11 Adresowy magazyn Terminal Zebra TC26 Praca przez RDP Skanowanie towarów odbywa się w dokumentach przyjęcia, umiejscowienia, selekcji oraz innych operacjach magazynowych. Aktualny problem: Magazynierzy pracują przez terminal Zebra. Podczas skanowania nie… C#, Bazy danych i SQL ∙ 4 dni 10 godzin temu ∙ 6 ofert |