Server cannot modify cookies after HTTP headers have been sent,该如何解决
Server cannot modify cookies after HTTP headers have been sentmvc 在ActionResult 加载时候回去读取客
Server cannot modify cookies after HTTP headers have been sent
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);
[解决办法]没看到你写的判断cookie是否存在的代码啊。这句是说你重复建立了吧。
[解决办法]只要不同时跳转和修改cookie、输出缓存,就能解决问题;
当然,也可以在webconfig配置中修改cacheRolesInCookie属性值设置成false就行了
[解决办法]道理很简单,如果你懂http协议的话。
http协议的响应类似这样:
http 1.1 200 ok //开始
server: ... //响应头
date: ...
set-cookie: xxx
<html> //这里是正文
<head>
...
...
你可以看到,一旦开始往客户端输出正文数据,你就不能再setcookie了。