InternetSetCookie不会在临时Internet文件中存储cookie

我正在尝试使用来自ac#winform应用程序的wininet在客户端创建一个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返回true,但我在Temporary Internet Files文件夹中找不到cookie。 任何线索?

我想如果你没有指定过期日期,那么你创建一个会话cookie。 如果您想要持久性cookie,请尝试指定过期日期。

我假设这样的cookie只存储在RAM中而不是序列化到磁盘上。 而且很可能只对您自己的流程可见。


如果您查看InternetSetCookie的MSDN文档,您会看到:

InternetSetCookie创建的Cookie没有过期日期存储在内存中,只能在创建它们的同一进程中使用。 包含过期日期的Cookie存储在windows \ cookies目录中。