Добрый день!
Задача такая: Приложение которое будет запускать много несвязанных между собой ВебБраузеров, а они в свою очередь должны выполнять работу. Несвязанность нужна т.к. будут использованы разные Прокси, Кукки и т.д.
Я рассматривал: WebBrowser, GeckoWebBrowser, Awesomium(WebControl, WebView), CefSharp;
WebBrowser и cefSharp нет возможности запуcтить несколько экземпляров с разными прокси, их сразу откидываем.
Из всего что есть под C#, подходит GeckoFX и Awesomium в плане прокси, то что нужно. Но вот с ними проблема, сразу много экземпляров запустить не получается. Пробовал с многопоточностью поиграться, без результатов. Awesomium вообще ругается что из другого потока обращаюсь. А Gecko бесконечно висит, и подписаться на события, или ждать когда загрузится страница бес толку((
Прошу помощи, как быть. Или может вообще другие инструменты посоветуете.
Есть еще мысль использовать AppDomain(.Net remoting), запускать браузеры в разных доменах. Что скажите по этому поводу?
HttpWebRequest - не предлагать т.к. в работе браузера может встретится страница с ajax. Да и вообще нужно имитировать работу человека.
[MTAThread]
private void testBtn_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(delegate {
GeckoWebBrowser browser = new GeckoWebBrowser();
browser.Navigate("https://yandex.ru");
while (browser.Document == null || browser.Document.ReadyState != "complete") {
Application.DoEvents();
Thread.Sleep(50);
}
}));
t.Start();
}
Этот не возможно дождаться
А это один из вариантов Awesomium
Btn_Click(object sender, RoutedEventArgs e)
{
WebView wc = WebCore.CreateWebView(1024, 768);
Thread t = new Thread(new ThreadStart(delegate {
wc.Source = new Uri("https://yandex.ru");
while (wc.IsLoading)
{
WebCore.Update();
}
}));
t.Start();
}
Вот что пишет: The calling thread cannot access this object because a different thread owns it
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не выводит запись об изменения в реестре ( вывод в консоль ) По этой статье + примере на программе: RegistryMonitor
Перед сохранением хотел сделать подтверждение, прописал data-confirm и теперь окно вызывается 2 раза перед отправкой формы
Пытаюсь объединить массивы в один, для обеднения взял функцию array_merge у меня получился массив:
Друзья здравствуйте! Вижу что данная тема еще не освещалась на русверсии данного ресурса в таком формате, по этому прошу подключиться к решению...