2016-06-14 20 views
4

Ich verwende das WebBrowser-Steuerelement, um eine Anmeldeseite anzuzeigen, auf der der Benutzer sich an seinem Konto anmelden kann. Anschließend erhält die Anwendung Kontakte von diesem Konto.So löschen Sie den WebBrowser-Cache in der WPF-Anwendung?

Das Problem ist jedoch, wenn Benutzer wählen Option "Keep Signing" aus dem Browser, Browser wird diesen Account-Namen zwischenspeichern und nächste Anmeldung mit anderen Konto, wird es zuvor zwischengespeicherten Account-Namen zurückgeben. Dies führt dazu, dass die Anwendung einen falschen Kontonamen erhält.

Sie wissen, wie Sie WebBrowser zwingen, den gesamten Cache zu löschen, bevor Sie fortfahren, um dieses Problem zu vermeiden?

Ich denke WebBrowser verwenden Internet Explorer, die Version 11 auf meinem Computer ist.

+0

-Webbrowser IE-Einstellungen. Sie müssen Ihren IE in den Einstellungen Cache beim Beenden löschen. –

+0

@ Dr.Stitch Also, wenn ich meine Anwendung auf einen anderen Computer verschiebe, muss ich IE auf diesem Rechner zurücksetzen? –

+0

Scheint so, als ob Sie versuchen, das falsche Problem zu beheben oder es nicht gut genug zu erklären. Im Moment klingt es so, als ob "der Benutzer sich entschieden hat, sein Recht auszuüben, eine bestimmte Option zu verwenden. Ich (durch mein Programm) weiß besser als der Benutzer und als Vergeltung werde ich eine ganze Ladung ihrer Einstellungen auslöschen" –

Antwort

0

Der Browser speichert die Anmeldeinformationen in einem Cookie. Löschen Sie die Cookies beim Beenden oder wenn Sie finden geeignet:

webBrowser.Navigate("javascript:void((function(){var a,b,c,e,f;f=0;a=document.cookie.split('; ');for(e=0;e< a.length&&a[e];e++){f++;for(b='.'+location.host;b;b=b.replace(/^(?:%5C.|[^%5C.]+)/,'')){for( c=location.pathname;c;c=c.replace(/.$/,'')){document.cookie=(a[e]+'; domain='+b+'; path='+c+'; expires='+new Date(( new Date()).getTime()-1e11).toGMTString());}}}})())") 

(Snippet entnommen aus: How to delete Cookies from windows.form?)

+1

Funktioniert nicht. :( –

+0

Dies wird nicht [HTTP nur Cookies] (https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#Secure_and_HttpOnly_cookies), die von JavaScript – Day

+0

@Day nicht erreichbar sind, richtig, obwohl ich sehr bezweifle, dass dies die Art von Cookies sind, die das Problem hat. – omerts

Verwandte Themen