Почему MessageBox не выводит html?
Хочу получить html код страницы. Для этого использую CefSharp, так-как на сайте есть защита ввиде капчи. Решил использовать
string source = await browser.GetBrowser().MainFrame.GetSourceAsync();
были проблемы с deadlock, но вроде смотря через дебаг, код не умирает после этой строчки. Доходит до MessageBox и ничего не выводится!
Код:
private async void Browser_FrameLoadEnd(object sender, FrameLoadEndEventArgs e)
{
string source = await browser.GetBrowser().MainFrame.GetSourceAsync();
MessageBox.Show(source);
}
Заранее спасибо!
Ответы (1 шт):
Автор решения: default locale
→ Ссылка
Попробуйте запустить через BeginInvoke формы:
BeginInvoke(new Action(() => MessageBox.Show(source)));
Для того чтобы отобразить сообщение MessageBox.Show должен выполняться в потоке UI. Когда он выполняется в другом потоке (async), то сообщение не отображается и этот поток блокируется, т.к. метод ожидает действие пользователя. В результате приложение зависает.
