這是我登陸後設置cookie的方法,本來cookieValueName是用FormsAuthentication.FormsCookieName替代的,突然有一天發總是得到null值,(目前情況也不明,可能是多個cookie的問題[也不太像,之前好好的,突然就變了])之後,直接改名傳固定值"CQSP ...
public void SetCookie(string userName, string role,string cookieValueName) {FormsAuthentication.FormsCookieName FormsAuthenticationTicket myTick = new FormsAuthenticationTicket(1, userName, System.DateTime.Now.AddMinutes(30),DateTime.Now, false, role); string encryptTick=FormsAuthentication.Encrypt(myTick); HttpCookie myCookie = new HttpCookie(cookieValueName,encryptTick); myCookie.Expires = System.DateTime.Now.AddMinutes(30); HttpContext.Current.Response.Cookies.Add(myCookie); }
這是我登陸後設置cookie的方法,本來cookieValueName是用FormsAuthentication.FormsCookieName替代的,突然有一天發總是得到null值,(目前情況也不明,可能是多個cookie的問題[也不太像,之前好好的,突然就變了])
之後,直接改名傳固定值"CQSPACE",之後也一直發現得不到值,換了N種Cookie寫法,N種修改方法,也發現無效,兩天後,新建一工程,發現可以得到值,就是自己的項目無法值,今天,新建了幾個值,發現就除了CQSPACE之外的值都可以得到,就是得不到CQSPACE的值..突然靈感一到,才想起了FromsAuthentication.FormsCookieName的值也叫cqspace(這裡大小寫是不區分的)
最終解決方案:把WebConfig的<form name="cqspace" de../>中的name="cqspace"刪除即可..
鬱悶的三天過去..終於可以再好過一點了....