Элемент управления WebBrowser: переход на веб-страницу отменен
настройка
- Windows 8 (полная) таблетки
- .NET 2.0 приложение
Я работаю над проектом, в котором 4 элемента управления WebBrowser одновременно переходят на некоторую веб-страницу при загрузке приложения. Веб-страницы имеют один и тот же HTML, но поступают с разных веб-серверов.
проблема в том, что некоторые из этих страниц отображают сообщение "навигация к веб-странице была отменена" в элементе управления WebBrowser. Это только происходит при запуске приложения. Я реализовал описанное решение здесь чтобы вернуть код состояния и, как ни странно, это 200 = OK статус.
когда я затем обновляю страницу, она внезапно работает правильно. У меня есть подозрения, что проблема может быть вызвана одновременной навигацией, но я понятия не имею, как это проверить.
какие идеи?
2 ответов
хорошо, поэтому я закончил запуск навигации и жду ее завершения, прежде чем делать следующий, и с тех пор я не сталкивался с проблемой. Это была проблема, которая не нуждалась в причудливом решении, и у нас не было времени копать глубже, поэтому мы пошли с этим.
У меня проблема с управлением WebBrowser. Мы хотим получить скриншот с URL веб-страницы, и мы используем WebBrowser.
private void GenerateThumbnail()
{
WebBrowser webrowse = new WebBrowser();
webrowse.ScrollBarsEnabled = false;
webrowse.AllowNavigation = true;
webrowse.Navigate("https://stackoverflow.com/questions/31756420/how-to-run-asp-net-mvc-app-in-iis-10-on-windows-10");
webrowse.Width = 1024;
webrowse.Height = 768;
webrowse.DocumentCompleted += webbrowse_DocumentCompleted;
while (webrowse.ReadyState != WebBrowserReadyState.Complete)
{
System.Windows.Forms.Application.DoEvents();
}
}
private void webbrowse_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
WebBrowser webrowse = sender as WebBrowser;
Bitmap bitmap = new Bitmap(webrowse.Width, webrowse.Height);
webrowse.DrawToBitmap(bitmap, webrowse.Bounds);
MemoryStream stream = new MemoryStream();
bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] strbytes = stream.ToArray();
//imgscreenshot.ImageUrl = "data:image/jpeg;base64," + Convert.ToBase64String(strbytes);
using (MemoryStream ms = new MemoryStream(strbytes))
{
using (System.Drawing.Image screenShotImage = System.Drawing.Image.FromStream(ms))
{
Bitmap cp = new Bitmap(screenShotImage);
cp.Save(@"webPage.png", ImageFormat.Png);
cp.Dispose();
}
}
}
мы получаем изображение как " навигация к странице была отменена.". Это из веб-приложения MVC, и он отлично работает из консольного приложения.