[英]keeping cookies after application restart c# webbrowser control
我希望能够在重新启动应用程序时保留Web浏览器控件的状态。 例如,如果我登录到Cookie过期两个小时的网站,则退出该应用程序并在两个小时内重新启动它,我想继续同一会话。 (如果我一直打开控件,则以相同的方式保留会话)。 Cookie不会过期的饼干似乎也被吹走了。
有谁知道任何解决方案,或者可以指出我要用来保存和恢复会话的强调ActiveX代码? 我很确定通过托管代码这是不可能的。
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetGetCookie(
string lpszUrlName,
string lpszCookieName,
StringBuilder lpszCookieData,
[MarshalAs(UnmanagedType.U4)]
ref int lpdwSize
);
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetSetCookie(
string lpszUrlName,
string lpszCookieName,
string lpszCookieData
);
我目前正在对此进行测试,不确定是否可以在较新的Vista / Win7安全模式下使用。 但是应该是一个很好的起点。
当浏览器关闭时,不会过期的cookie是存储在内存中的会话cookie。
会话数据未存储在cookie中。 它存储在服务器上。 默认会话超时为20分钟。
但是cookie是访问会话的关键。
因此,要使其正常工作,您需要:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.