[英]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.