我对 Cookie 过期日期感到疯狂,从概念上讲它很简单,但它在我的服务器上不起作用......我想这是一个让我发疯的 IIS 设置,你怎么看????
我从一个 MVC 3 示例项目开始,并在 Home Controller 中添加以下代码
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();
}
persistentLogonCookie.Expires = DateTime.UtcNow.AddDays(2);
如果我在本地运行它,它会在第二个请求后正常工作,我得到 Cookie Found....如果我在服务器上运行,我总是 Cookie Not Found.... 如果不是本地计算机和服务器之间的 IIS 设置不同,我不知道该怎么想。在响应标头中,我有:
Set-Cookie test=added4:23:39 PM; expires=Wed, 14-Aug-2013 15:23:39 GMT; path=/
但是当我在服务器上对其进行测试时,该 cookie 不会添加到以下请求的 cookie 集合中,当我使用本地 IIS 进行测试时,它会进入 cookie 集合中......任何建议将不胜感激......