问题描述
- 服务器无法在发送 HTTP 标头之后修改 cookie。
- 我新增了一个a页面复制了b页面的代码配置好连接后从b页面点击跳转到a页面之后报:服务器无法在发送 HTTP 标头之后修改 cookie。这个异常以下是代码
HttpCookie ck = HttpContext.Current.Request.Cookies[CookiesName];
if ( ck == null )
{
ck = new HttpCookie( CookiesName );
}
ck.Expires = DateTime.Now.AddYears( 50 );
ck.Domain = CookiesDomain;
foreach ( KeyValuePair pair in dic )
{
ck.Values[pair.Key] = HttpUtility.UrlEncode( pair.Value.ToString( ) );
ck.Values[pair.Key + ExpireTimeStr] = !timeout.HasValue ? HttpUtility.UrlEncode( CookiesExpire.ToString( ""yyyy-MM-dd HH:mm:ss"" ) ) : HttpUtility.UrlEncode( DateTime.Now.AddMinutes( ( double ) timeout.Value ).ToString( ""yyyy-MM-dd HH:mm:ss"" ) );
}
ck.Values[ValidateName] = GetValidateStr( ck );
HttpContext.Current.Response.Cookies.Add( ck );
解决方案
原因应该是你在Add一个Cookie之前 有一次输出Response.Write();Response.End()
时间: 2024-12-28 14:53:13