如何在不重新启动应用程序的情况下清除当前会话数据(cookie,缓存数据,身份验证会话等)?
更新:我在谈论Windows.Forms中的WebBrowser控件,而不是ASP.Net会话.
要清除会话(例如HttpOnly cookie),您可以使用wininet.dll中的InternetSetOption().
private const int INTERNET_OPTION_END_BROWSER_SESSION = 42; [DllImport("wininet.dll", SetLastError = true)] private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);
并且只要需要清除会话就使用此方法.
InternetSetOption(IntPtr.Zero, INTERNET_OPTION_END_BROWSER_SESSION, IntPtr.Zero, 0); webBrowser1.Document.Window.Navigate(url);