Navigarea pe pagina web a fost anulată, obținând un mesaj în formularul web asp.net (Programare, C#, Asp.Net, Iis, Rețea, Webforms)

mohd mazhar khan a intrebat.
a intrebat.

Când descarc o pagină aspx în format imagine, atunci primesc mesajul de eroare de mai jos în imaginea descărcată, dar gazda locală crede că totul funcționează bine numai când se încarcă pe serverul live, atunci fișierul descărcat este descărcat, dar mesajul din interiorul fișierului vine, nu apar datele mele aspx.

Navigation to the webpage was canceled

Mai jos este fișierul meu de imagine descărcat cu mesajul

Încerc să fac o scurtă vizualizare a paginii web folosind controlul Win Form WebBrowser, iar mai jos este codul meu.

Mai jos este codul care atribuie URL-ul la caseta de text pentru descărcare.

  protected void Page_Load(object sender, EventArgs e)
{

   txtweburl.Text = "http://example.com/dicdownload.aspx?VisitedId=DIC_V00025";

 }

Mai jos este codul pentru generarea ecranului folosind thread-ul

  protected void btnscreenshot_click(object sender, EventArgs e)
  {
    //  btnscreenshot.Visible = false;
    allpanels.Visible = true;
    Thread thread = new Thread(GenerateThumbnail);
    thread.SetApartmentState(ApartmentState.STA);
    thread.Start();
    thread.Join();

}

private void GenerateThumbnail()
{
    //  btnscreenshot.Visible = false;
    WebBrowser webrowse = new WebBrowser();
    webrowse.ScrollBarsEnabled = false;
    webrowse.AllowNavigation = true;
    string url = txtweburl.Text.Trim();
    webrowse.Navigate(url);
    webrowse.Width = 1400;
    webrowse.Height = 50000;

    webrowse.DocumentCompleted += webbrowse_DocumentCompleted;
    while (webrowse.ReadyState != WebBrowserReadyState.Complete)
    {
        System.Windows.Forms.Application.DoEvents();
    }
}

În codul de mai jos, salvez fișierul imagine după descărcare și șterg același fișier.

        private void webbrowse_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    // btnscreenshot.Visible = false;
    string folderPath = Server.MapPath("~/ImageFiles/");

    WebBrowser webrowse = sender as WebBrowser;
    //Bitmap bitmap = new Bitmap(webrowse.Width, webrowse.Height);

    Bitmap bitmap = new Bitmap(webrowse.Width, webrowse.Height, PixelFormat.Format16bppRgb565);

    webrowse.DrawToBitmap(bitmap, webrowse.Bounds);


    string Systemimagedownloadpath = System.Configuration.ConfigurationManager.AppSettings["Systemimagedownloadpath"].ToString();
    string fullOutputPath = Systemimagedownloadpath + Request.QueryString["VisitedId"].ToString() + ".png";
    MemoryStream stream = new MemoryStream();
    bitmap.Save(fullOutputPath, System.Drawing.Imaging.ImageFormat.Jpeg);


    // You should put more appropriate MIME type as per your file time - perhaps based on extension
    Response.ContentType = "application/octate-stream";
    Response.AddHeader("content-disposition", "attachment;filename=" + Request.QueryString["VisitedId"].ToString() + ".png");
    // Start pushing file to user, IIS will do the streaming.
    Response.TransmitFile("~/ImageFiles/" + Request.QueryString["VisitedId"].ToString() + ".png");
    Response.Flush();//Won't get error with Flush() so use this Instead of End()
    var filePath = Server.MapPath("~/ImageFiles/" + Request.QueryString["VisitedId"].ToString() + ".png");
    if (File.Exists(filePath))
    {
        File.Delete(filePath);
    }


}

La gazda locală totul funcționează bine, dar când se descarcă imaginea în direct, imaginea apare cu acest mesaj.

Am verificat și cu soluția de mai jos

https://support.microsoft.com/en-in/help/967941/navigation-is-canceled-when-you-browse-to-web-pages-that-are-in-differ

Configurația IIS: Navigarea către pagina web a fost anulată la convertirea paginii în PDF folosind SautinSoft.PdfVision

Comentarii

  • Echipa mea de rețea spune că este o eroare de cod, dar eu le-am spus că este o problemă de securitate a rețelei, îmi poate spune exact care este problema, adică ce tip de problemă de permisiuni. @RamAnugandula –  > Por mohd mazhar khan.
  • Dar codul funcționează bine în gazda locală. @RamAnugandula –  > Por mohd mazhar khan.
  • Acest mod protejat este activat setarea pe care trebuie să o fac în sistemul server sau în mașina client, mașina client a făcut deja, dar nu vine. @RamAnugandula –  > Por mohd mazhar khan.
  • Suntem în mașina Windows 10 și browserul EDge este disponibil. @RamAnugandula –  > Por mohd mazhar khan.
  • Utilizarea controlului WebBrowser dintr-o aplicație ASP.NET care va fi găzduită de IIS nu este o idee bună. Chiar dacă reușiți să o faceți să funcționeze uneori, este aproape garantat să se rupă sub orice fel de sarcină. support.microsoft.com/en-in/help/238425/… –  > Por user469104.
4 răspunsuri
mohd mazhar khan

În cazul meu trebuie să facem trei setări, apoi partea mea de descărcare funcționează perfect bine

1) Certificatele SSL

2) Echipa mea de rețea Actualizați cea mai mică versiune IIS la IIS10

3) Setați IIS la versiunea de 64 de biți

Jalpa Panchal

În primul rând, încercați să resetați setările Internet Explorer.

Adăugați un site la site-urile de încredere.

  • În Internet Explorer, selectați Instrumente > Opțiuni Internet din meniuîn partea de sus.
  • Va apărea fereastra Internet Options (Opțiuni Internet). Selectați filaSecuritate. Apoi faceți clic pe pictograma Trusted sites (Site-uri de încredere).

  • Faceți clic pe butonul Site-uri.

  • Se va deschide fereastra Trusted sites (Site-uri de încredere). Tastați URL-ul site-ului în căsuța website, așa cum se arată. Faceți clic pe Add (Adăugare). Adăugați apoi un „s” dupăhttp (de exemplu, faceți ca adresa să arate ca: „

https://trusted.website.com”). Faceți clic din nou pe Add (Adăugare).

Asigurați-vă că NU bifați căsuța pentru Require server verification (https). Bifați-o de două ori!

  • Faceți clic pe butonul Close (Închidere).
  • Cu site-urile de încredere încă selectate, faceți clic pe ” Custom Level”.

  • Se va deschide fereastraSecurity Settings – Trusted Sites Zone (Setări de securitate – Zona site-urilor de încredere). Derulați în jos până când vedeți „Display mixed content” (Afișare conținut mixt). Selectați Enable (Activare).

  • Înapoi în fereastraInternet Options (Opțiuni Internet), faceți clic pe OK pentru a salva modificările. Încercați din nou site-ul pentru a vedea dacă funcționează mai bine cu aceste setări.

Comentarii

  • Mulțumesc, voi verifica și vă voi actualiza răspunsul. @Jalpa Panchal –  > Por mohd mazhar khan.
  • Puteți să-mi spuneți unde trebuie să fac această setare? trebuie să o fac în sistemul live server sau în mașina client unde utilizatorul va accesa funcționalitatea de descărcare. @Jalpa Panchal –  > Por mohd mazhar khan.
  • ați putea să ne spuneți unde primiți acest mesaj de eroare în partea de server sau în partea de client? –  > Por Jalpa Panchal.
  • Vedeți că vă voi spune clar din lohost url (URL:localhost:57052) funcționează bine descărcarea fișierului cu date corecte, Problema este că atunci când descarc fișierul de pe site-ul web live (www.myweb.com/download.aspx), atunci în acest fișier primesc acest mesaj, folosesc această aplicație, atunci este o problemă a site-ului clientului. @Jalpa Panchal –  > Por mohd mazhar khan.
  • ați încercat orice alt browser? –  > Por Jalpa Panchal.
Filip B.

Singurul lucru care a rezolvat pentru mine a fost să dezactivez firewall-ul pe serverul unde găzduiți rapoartele RDL.

HeXMaN

Pentru oricine încă încearcă să înțeleagă acest lucru. Pentru mine a funcționat după ce am setat webBrowser.ScriptErrorsSuppressed = false; în codul meu. Faceți o încercare.

Comentarii

  • Votează întrebarea. @HeXMaN –  > Por mohd mazhar khan.
  • Vă rugăm să nu aduceți cultura social media aici. Voi da un upvote dacă vreau să o fac. –  > Por HeXMaN.