今天碰到一个奇怪的问题,在使用FormsAuthenticationTicket保存cookies的时候,无法在电脑里面永久的生成cookies文件。具体代码如下:
string loginName = "test";
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(2, loginName, DateTime.Now, DateTime.Now.AddHours(3), true, "hello world", "/");
string authTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie coo = new HttpCookie(FormsAuthentication.FormsCookieName, authTicket);
//coo.Expires = DateTime.Now.AddHours(3);
Response.Cookies.Add(coo);后来发现一定要把coo.Expires = DateTime.Now.AddHours(3);这句话加上才可以生成cookies文件到电脑中。为何呢?有哪位大虾知道原因?谢谢
string loginName = "test";
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(2, loginName, DateTime.Now, DateTime.Now.AddHours(3), true, "hello world", "/");
string authTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie coo = new HttpCookie(FormsAuthentication.FormsCookieName, authTicket);
//coo.Expires = DateTime.Now.AddHours(3);
Response.Cookies.Add(coo);后来发现一定要把coo.Expires = DateTime.Now.AddHours(3);这句话加上才可以生成cookies文件到电脑中。为何呢?有哪位大虾知道原因?谢谢
FormsAuthenticationTicket里设置的只是票据的过期时间,Cookie的过期时间跟这个无关,要在HttpCookie里设