在传统的ASP中,当我使用Response.Cookies("data1") = "value1“设置cookie时,我可以在同一页面上使用Request.Cookies("data1")读取该cookie
但是当我使用语法Response.AddHeader "Set- cookie ","data2=value2“时,我无法在同一页面上使用Request.Cookies("data2")来读取这个cookie。
那么,这两种设置cookie的语法之间有什么区别呢?如果我想使用第二种语法来读取cookie,那么read语句应该是什么样子呢
发布于 2016-05-09 21:48:36
这两种方法都设置HTTP标头
set-cookie但有一个关键的区别。
Response.Cookies是一个预先构建的集合,当响应准备发送时,就会创建HTTP头set-cookie。这意味着,在指定了Cookie集合的页面的生命周期内,可以根据需要对这些值进行操作。
当响应被发送回客户端时,Response.AddHeader()设置HTTP头set-cookie,它与Response.Cookies()和设置没有任何关联
Response.AddHeader("set-cookie", "...")将不会神奇地填充Response.Cookies集合。在不使用Response.Cookies()的情况下填充Cookies集合的唯一方法是在设置Response.AddHeader()之后往返于服务器。
https://stackoverflow.com/questions/37116400
复制相似问题