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);

...全文
310 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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是否存在的代码啊。这句是说你重复建立了吧。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧