我正在使用c#和mvc。我正在尝试向用户浏览器写入一个cookie。但是在刷新浏览器之后,cookie就消失了。刷新后Cookie不会持续
这是我的代码写的饼干:
movieCookie = new HttpCookie(cookieName);
movieCookie.Value = "test;
movieCookie.Expires = DateTime.Now.AddDays(30);
//add the cookie
HttpContext.Current.Response.Cookies.Add(movieCookie);
和一个用于读取cookie的:
//check if such cookie exist
HttpCookie movieCookie = null;
if (HttpContext.Current.Request.Cookies.AllKeys.Contains(cookieName))
movieCookie = HttpContext.Current.Request.Cookies[cookieName];
增加的另一件事是,当我搜索“AllKeys”就像这样:
HttpContext.Current.Request.Cookies.AllKeys
由于某种原因,它显示一个空字符串数组。 有什么想法?
如果您使用的是IE的最新版本,您是否使用过F12来查看服务器和客户端之间发送了什么? – HABO 2012-07-24 12:45:35
您说cookie会消失,所以您可以在浏览器中看到cookie?你能说,在哪个上下文中创建了cookie?如果上下文例如是“/”,则它应该可以被当前域下的所有页面读取。也许您的应用的默认上下文设置得太深。并且禁止其他页面读取cookie。 – 2012-07-24 12:47:16