Хотел параллельно создать и поместить в коллекцию несколько браузеров CefSharp/CefSharp.Offscreen/ChromiumWebBrowser:
class TestClass
{
List<ChromiumWebBrowser> UnusedBrowsers { get; set; }
public TestClass ()
{
this.UnusedBrowsers = new List<ChromiumWebBrowser>(10);
Parallel.For(0, 10, (n) => UnusedBrowsers.Add(new ChromiumWebBrowser()));
}
}
в результате получил исключение:
System.Exception HResult=0x80131500 Сообщение = Cef can only be initialized once. Use Cef.IsInitialized to guard against this exception. Источник = CefSharp.Core
Как заставить этот код работать? Если есть возможность, прокомментируйте причину ошибки.
КОММЕНТАРИЙ:
Если я вызываю var br = new ChromiumWebBrowser(); перед Parallel.For то никаких ошибок нет. Все отрабатывает нормально.
class TestClass
{
List<ChromiumWebBrowser> UnusedBrowsers { get; set; }
public TestClass ()
{
this.UnusedBrowsers = new List<ChromiumWebBrowser>(10);
var br = new ChromiumWebBrowser();
Parallel.For(0, 10, (n) => UnusedBrowsers.Add(new ChromiumWebBrowser()));
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости