if(ds.Tables[0].Rows.Count > 0)
{
  FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,//验证票版本
ds.Tables[0].Rows[0]["emp_id"].ToString(),//用户名
DateTime.Now,//Cookie的发出时间
DateTime.Now.AddMinutes(timeOut),//Cookie的到期时间
false, //创建持久的用户Cookie
ds.Tables[0].Rows[0]["roles"].ToString(),//用户角色
FormsAuthentication.FormsCookiePath);//有郊的Cookie路径
//对Cookie进行加密
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName,
hash);
//将Cookie的过期时间设为验证票的过期时间
if(ticket.IsPersistent) cookie.Expires = ticket.Expiration; //将Cookie添加到输入的响应中
if (cookie !=null)
{
Response.Cookies.Add(cookie);
}
else
{
return;
}
//定向到请求页或默认页
string returnUrl = Request.QueryString["ReturnUrl"];
if(returnUrl == null) returnUrl = "/"; //这里不能调用FormsAuthentication.RediriectFromLogninPage方法,
//它会自动添加验证票从页代替刚加的验证票.
Response.Redirect(returnUrl);
}
在上面代码中ds.Tables[0].Rows[0]["roles"].ToString()的值的长度大概在1300左右,此时Response.Cookies.Add(cookie)执行不提示任何错误,但是在服务器端且得不到Cookie值,这是为什么,有什么办法解决码,Cookie的上传最大字节数可以改变吗????
xxxxxxxxxxxxxxxxxxxxxxxxx!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!