Internet Explorer和Chrome不接受我的Cookie

时间:2011-01-27 16:09:01

标签: .net asp.net cookies cross-browser

在我的网站上,我以这种方式返回一个cookie:

context.Response.Cookies.Add(new HttpCookie("MYCOOKIE", MyStringVar) 
{ 
 HttpOnly = false, 
 Expires = DateTime.Now.Add(GlobalSettings.AuthCookieDuration) 
});

在开发过程中,一切都适用于所有浏览器,但是当我将应用程序部署到服务器时,只有Firefox能够登录(因此它是唯一接受cookie的人)。在服务器中,应用程序在服务器的根目录上运行,没有虚拟路径。

可能是什么问题?

非常感谢。

编辑:

我看着Fiddler的机智,服务器正在返回cookie,毫无疑问。所以问题是Chrome和IE不接受它。

1 个答案:

答案 0 :(得分:1)

问题是,服务器的GMT时间错误,所以它发送回已经过时的cookie,当然浏览器正在丢弃它:P

今天是格林威治标准时间2011年1月28日星期五12:50,服务器从昨天开始返回!!

HTTP/1.1 302 Found
Date: Thu, 27 Jan 2011 23:12:15 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 4.0.30319
p3p: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
Location: http://myserver
Set-Cookie: AUTH=jll+9[...]; expires=Thu, 27-Jan-2011 23:32:15 GMT; path=/
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 166

快乐的日子:)

Fiddler是一个很棒的工具;)