韩言福地

只有想不到的,没有办不到的。 - HY Auspicious Place

« ajax 页面页面缓存的问题 Server Application Unavailable asp.net »

服务器无法在发送 HTTP 标头之后修改 cookie 问题解决方法

服务器无法在发送 HTTP 标头之后修改 cookie 问题解决方法

当一个页面已经开始输出的时候,就不允许在操作 cookies了。

如果你在 this.Response.Write   之后操作cookies 就会抱错。

我之前是在 pageload中输入了 this.Response.Write 但是没有控制 postback 结果我提交登陆的时候

就先执行了 this.Response.Write 后写了cookies 就报了错。

所以,cookies 一定要在没有任何输出前进行,要不就报错。

我遇到这个问题,发现是这个原因,就和错误提示的 意思一样

页面标头发送了,也就是输出了页面信息了。

 

 

其他人的 :

问题描述:
在进行角色管理的时候,因为使用了updatepanel和在Login页面中设置了:
FormsAuthentication.SetAuthCookie(user.UserName, this.RememberMe.Checked);
出现了以下的错误:
[HttpException]: 服务器无法在发送 HTTP 标头之后修改 cookie。
   在 System.Web.HttpCookieCollection.Add(HttpCookie cookie)
   在 System.Web.Security.RoleManagerModule.OnLeave(Object source, EventArgs eventArgs)
   在 System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

解决办法:
在web.config中把cacheRolesInCookie属性值设置成false就行了。
在官方论坛:http://forums.asp.net/p/1069056/1574188.aspx#1574188
有解释。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Copyright 2007-2010 www.yinrg.com(HY Auspicious Place) . 湘ICP备06007796号.