久久国产精品亚洲艾草网_黄色视频在线免费观看_国产强伦姧在线观看_无码国产69精品久久久久网站

服務(wù)器無法在發(fā)送 HTTP標(biāo)頭之后追加 Cookie(AppendCookie)

廣告:

Event code: 3005
Event message: 發(fā)生了未經(jīng)處理的異常。
Exception information:
Exception type: HttpException
Exception message: 服務(wù)器無法在發(fā)送 HTTP 標(biāo)頭之后追加 Cookie。
在 System.Web.HttpResponse.AppendCookie(HttpCookie cookie)


服務(wù)器向客戶端發(fā)送設(shè)置Cookie時(shí),可用HttpResponse.SetCookie、HttpResponse.AppendCookie、HttpResponse.Cookies.Add這三個(gè)家伙。

簡單描述下他們的區(qū)別(注意紅色部分):

HttpResponse.Cookies.Add:將 指定 cookie添加到Cookies集合,同key的cookie可以重復(fù)添加,總是添加而不是更新;

HttpResponse.AppendCookie:將 Http cookie追加加到Cookies集合,同key的cookie可以重復(fù)添加,總是添加而不是更新,它和HttpResponse.Cookies.Add的功能幾乎一樣,最大的區(qū)別是添加前后的事件和拋出的異常不盡相同。

HttpResponse.SetCookie:更新Cookies集合中第一個(gè)同key的cookie,如果找不到同key的cookie,則添加一個(gè)cookie到Cookies集合中。

在asp.net下使用時(shí),它們有一個(gè)共同的異常:System.Web.HttpException 服務(wù)器無法在發(fā)送 HTTP 標(biāo)頭之后修改 cookie。

還是發(fā)些代碼看下吧

protected void Page_Load(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("name");
cookie.Value = "value";
this.Response.AppendCookie(cookie);
cookie = new HttpCookie("name");
cookie.Value = "value1";
this.Response.AppendCookie(cookie);
cookie = new HttpCookie("name1");
cookie.Value = "value1";
Response.SetCookie(cookie);
cookie.Value = "value2";
Response.SetCookie(cookie);
Response.Cookies.Add(cookie);
cookie = new HttpCookie("name");
cookie.Value = "value3";
Response.Cookies.Add(cookie);
cookie = new HttpCookie("name");
cookie.Value = "value4";
Response.Cookies.Add(cookie);
//Response.Flush();//取消注釋后面代碼將會(huì)引發(fā)異常
cookie = new HttpCookie("name");
cookie.Value = "value5";
Response.Cookies.Add(cookie);
cookie = new HttpCookie("name");
cookie.Value = "value1";
Response.AppendCookie(cookie);
cookie = new HttpCookie("name");
cookie.Value = "value5";
Response.SetCookie(cookie);//注意這里盡管它在最后,影響的卻只是cookies集合中第一個(gè)key為“name”的cookie.
}

輸出給瀏覽器:

Set-Cookie: name=value5; path=/
Set-Cookie: name=value1; path=/
Set-Cookie: name1=value2; path=/
Set-Cookie: name1=value2; path=/
Set-Cookie: name=value3; path=/
Set-Cookie: name=value4; path=/
Set-Cookie: name=value5; path=/
Set-Cookie: name=value1; path=/


解決辦法:
更新cookie代碼有問題,有重復(fù)代碼

廣告:

編輯:Admin 時(shí)間:2022/12/9 16:11:32 閱覽:605   返回    
AppendCookie
掃描關(guān)注53BK報(bào)刊官網(wǎng)
掃描關(guān)注閱速公司微信