2013-05-07 17 views
6

SetupWebBrowser: navigazione alla pagina web è stata annullata

  • Windows 8 (full) compressa
  • NET 2.0 applicazione

Sto lavorando su un progetto in cui 4 controlli WebBrowser stanno navigando su alcune pagine Web contemporaneamente quando l'applicazione viene caricata. Le pagine web hanno lo stesso codice HTML, ma provengono da diversi server web.

Il problema è che alcune di quelle pagine visualizzano un messaggio "Navigazione verso la pagina Web cancellata" nel controllo WebBrowser. Questo accade solo all'avvio dell'applicazione. Ho implementato la soluzione descritta here per ottenere il codice di stato restituito e stranamente, è uno stato 200 = OK.

Quando si aggiorna la pagina, funziona improvvisamente. Ho il sospetto che il problema potrebbe essere causato dalle navigazioni simultanee, ma non ho idea di come potrei verificarlo.

Qualche idea?

risposta

3

OK, quindi ho finito per attivare una navigazione e attendere che si completasse prima di eseguire la successiva e non ho riscontrato il problema da allora. Era un problema che non aveva bisogno di una soluzione sofisticata, e non avevamo il tempo di scavare più a fondo, così ci siamo messi d'accordo.

+0

Ho avuto questo problema in passato. Dopo un'intensa attività di ricerca, sembra che abbia colpito KB di sicurezza di Microsoft che impedisce al controller WebBrowser di accedere all'area dei siti attendibili. –

0

Ho un problema con il controllo WebBrowser. Vogliamo ottenere lo screenshot dall'URL della pagina web e stiamo usando 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(); 
      } 
     } 
    } 

Stiamo ottenendo l'immagine come "La navigazione verso la pagina è stata annullata.". Questo è da applicazione web MVC e funziona bene dall'applicazione console.

Problemi correlati