2011-03-22 96 views
1

我正嘗試使用wininet從c#winform應用程序在客戶端創建cookie。 所以我用這個代碼:InternetSetCookie不在臨時Internet文件中存儲Cookie

[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] 
public static extern bool InternetSetCookie 
(
    string lpszUrlName, 
    string lbszCookieName, 
    string lpszCookieData 
); 

private void btnRestaure_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     var result = InternetSetCookie("www.mydomain.com", "MyCookie", 
           "value=helloworld"); 
    } 
    catch(Exception ex) 
    { 

    } 
} 

InternetSetCookie返回我真的,但我無法找到在Temporary Internet Files文件夾的餅乾。 任何線索?

回答

3

我想如果你沒有指定到期日期,那麼你就創建了一個會話cookie。如果你想要一個持久的cookie,請嘗試指定一個到期日期。

我假設這樣的cookie只存儲在RAM中,而不是序列化到磁盤。而且很可能只在你自己的過程中可見。


如果檢查MSDN documentation for InternetSetCookie看到:沒有有效期限由InternetSetCookie創建

Cookies是存儲在內存中,只有在創建它們的相同過程可用。包含到期日期的cookie存儲在windows \ cookies目錄中。

+0

非常感謝,這正是我的問題。我相信我應該在下次閱讀文檔時更加認真:p – 2011-03-23 05:42:58

+0

@BrunoLeDuic您是否找到了如何在文件夾中寫入到期的方式? – 2015-03-16 09:19:57

+0

@CodeInChaos你可以告訴請問如何將它存儲在磁盤? – 2015-03-16 09:20:53