我对Cookie的过期日期越来越疯狂了,从概念上讲,它很简单,但是它不在我的服务器上工作。我想那是IIS设置让我发疯了,你觉得呢?
我从MVC 3示例项目开始,我在主控制器中添加了以下代码
public ActionResult Index()
{
var PersistentLogonCookieName = "test";
var persistentLogon = DateTime.Now.ToLongTimeString();
var persistentLogonCookie = new HttpCookie(PersistentLogonCookieName, persistentLogon);
persistentLogonCookie.Expires = DateTime.UtcNow.AddDays(2);
if (Request.Cookies[PersistentLogonCookieName] == null)
{
ViewBag.Message = "Cookie NOT Found!";
persistentLogonCookie.Value = "added" + DateTime.Now.ToLongTimeString();
Response.Cookies.Add(persistentLogonCookie);
}
else
{
ViewBag.Message = "Cookie Found!";
Response.SetCookie(persistentLogonCookie);
}
return View();
}如果我在本地运行的话,在我发现Cookie的第二个请求之后,它就能正常工作了.如果我在服务器上运行,我总是找不到琦琦.如果我评论persistentLogonCookie.Expires = DateTime.UtcNow.AddDays(2);,它在服务器上也能正常工作。我不知道该怎么想,如果不是,那是我的本地机器和服务器之间的一个不同的IIS设置.在响应头中,我有:
Set-Cookie test=added4:23:39 PM; expires=Wed, 14-Aug-2013 15:23:39 GMT; path=/但是,当我在服务器上测试cookie时,cookie不会添加到以下请求的cookie集合中,并且当我使用本地IIS进行测试时,cookie集合会被添加到cookie集合中.任何建议都将不胜感激..。
发布于 2013-08-12 17:12:46
抱歉,我发现问题出在哪里.服务器在响应日期中返回错误的日期.到期日期必须在响应日期之后,才能将cookie添加到cookie集合中。
https://stackoverflow.com/questions/18190895
复制相似问题