webbrowser open net navegador control asignar vb.net caching browser webbrowser-control disable-caching

vb.net - open - webbrowser properties



¿Cómo deshabilitar el almacenamiento en caché en.NET WebBrowser Control? (8)

Podría intentar agregar un número aleatorio o guid en la url como parámetro. Como:

var url = "http://google.com"; webBrowser.Navigate(url + "?refreshToken=" + Guid.NewGuid().ToString());

No es elegante, pero funciona. Espero eso ayude.

He estado buscando en Google durante horas y tratando de resolver esto, y simplemente no puedo. Tengo 1 control de webbrowser en un formulario, webbrowser1.

Una vez que cargue una página, diga google.com, si uso webbrowser1.refresh() o webbrowser1.navigate("google.com") , no está recargando la página, la tiene en caché por lo que solo está recargando la caché. Esto es terriblemente aparente especialmente en páginas como foros o craigslist.

Necesito borrar el caché entre cada actualización (no ideal) o desactivar el almacenamiento en caché, ¿alguna idea? Las únicas cosas que encontré están desactualizadas (vb6 o inferior).


Agregue la siguiente metaetiqueta en sus páginas

<meta http-equiv="cache-control" content="no-cache">


use navigate(url,4) 0x4=noCache bandera navigate(url,4) 0x4=noCache


Esta página muestra cómo borrar un archivo temporal, léalo. También tengo este problema, pero cuando .refresh () no es útil para mí, ya que no desencadena el evento documentcomplete. Así que cuando deseo volver a cargar, simplemente uso .navigate() y antes de la navegación llamo al

System.Diagnostics.Process.Start("rundll32.exe","InetCpl.cpl,ClearMyTracksByProcess 8")

para borrar el caché


En el método .navigate, pasas el número 2 (el indicador sin historial) pero esto solo matará el historial de esa navegación, no matará al historial cuando sigas enlaces. Si desea eliminar el historial de los enlaces en los que se hace clic, puede interceptar la navegación durante el evento previo a anular, cancele la navegación configurando cancelar = verdadero y luego usando la URL proporcionada por el evento, haciendo la navegación usando .navigate con la bandera establecer en 2 de nuevo (la bandera sin historial).

En cuanto a otros elementos de la memoria caché como las cookies, las banderas no funcionan (aunque pueden haberlo implementado en las versiones actuales) ... Soto elimina todos los elementos de la memoria caché que realmente necesita para programarlo fuera del control del navegador web al consultar al usuario almacenar en caché utilizando otros Apis y eliminarlo, tal vez durante el evento completo del documento o cuando se realiza la navegación.

También tenga en cuenta que si elimina el historial con el control del navegador web, el método .goback de los controles web del navegador no funcionará (ya que lamentablemente utiliza el mismo historial y no mantiene otra lista de historial en la memoria) ... Así que cuando haga una Goback, actuará como si no hubiera nada a lo que regresar: /.

Dejame saber si necesitas mas ayuda.


Podría tratar de llamar a webbrowser1.Refresh(WebBrowserRefreshOption.Completely) . Debería actualizar la página y mostrar la última versión, algo así como ctrl + F5 en IE. Vea aquí y aquí más información.


No puedes deshabilitarlo Puede actualizar la página, borrar la caché antes de cada solicitud o usar algo que no sea el control del navegador web. Si desea borrar el caché antes de cada solicitud, hay MUCHA información incorrecta en línea. Te recomendaría mi respuesta aquí: https://.com/a/22074463/1607218 . Tenga cuidado, el código publicado en las otras respuestas en esa página NO es confiable, y tiene muchos errores, pero espero que mi respuesta lo guíe en la dirección correcta:)