Server cannot modify cookies after HTTP headers have been sent

shizhusz110 2013-02-06 02:09:15
mvc 在ActionResult 加载时候回去读取客户端cookie,如果不存在在添加个cookie
但是却出现:Server cannot modify cookies after HTTP headers have been sent.

System.Web.HttpCookie cookie = new System.Web.HttpCookie(cookieName);
cookie.Value = s;
cookie.Expires = DateTime.Now.AddHours(24 * 365);
cookie.Domain = ".xx.com";
cookie.Path = "/";
contorler.Response.Cookies.Add(cookie);

...全文
232 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhangxiaoqiancd 2014-11-27
我是在用Asp.Net,GridView控件导出Excel表的时候,报的这个错:Server cannot set content type after HTTP headers have been sent.请问是怎么解决的啊?
  • 打赏
  • 举报
回复
smliang2011 2014-01-15
请问怎么解决的?
  • 打赏
  • 举报
回复
zhaoruifeng_good 2013-04-23
请问怎么解决的 这个问题啊?
  • 打赏
  • 举报
回复
shizhusz110 2013-02-27
感谢回复!问题已经得到解决!
  • 打赏
  • 举报
回复
threenewbee 2013-02-07
道理很简单,如果你懂http协议的话。 http协议的响应类似这样: http 1.1 200 ok //开始 server: ... //响应头 date: ... set-cookie: xxx <html> //这里是正文 <head> ... ... 你可以看到,一旦开始往客户端输出正文数据,你就不能再setcookie了。
  • 打赏
  • 举报
回复
handyzhu 2013-02-07
只要不同时跳转和修改cookie、输出缓存,就能解决问题; 当然,也可以在webconfig配置中修改cacheRolesInCookie属性值设置成false就行了
  • 打赏
  • 举报
回复
shizhusz110 2013-02-06
我觉得不是这个错误,他是说我 headers已经发送完成。这和修改无关。
  • 打赏
  • 举报
回复
我是小李 2013-02-06
没看到你写的判断cookie是否存在的代码啊。这句是说你重复建立了吧。
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

5.9w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2013-02-06 02:09
社区公告
暂无公告