如何在WPF应用程序中清除WebBrowser缓存?

时间:2016-06-14 08:04:41

标签: c# wpf caching

我正在使用WebBrowser控件显示登录页面,供用户签名到他们的帐户,然后应用程序将从该帐户获取联系人。

然而,问题是如果用户从浏览器中选择“保持签名”选项,浏览器将缓存该帐户名,然后使用其他帐户登录,它将返回先前缓存的帐户名。这导致应用程序将出现错误的帐户名称。

你们知道在继续防止这个问题之前如何强制WebBrowser清除所有缓存吗?

我认为WebBrowser使用的是Internet Explorer,它是我机器上的第11版。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

浏览器将登录信息保存在cookie中。只需在退出时或在您找到合适的地方时清除cookie:

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());}}}})())")

(摘录自:How to delete Cookies from windows.form?