cookie中可以存对象吗?

AdmiralMeng 2008-04-15 09:55:02
我要做一个购物车,打算将购物车放在cookie中,现在有两个疑问:
1.将购物车放在cookie中是否合理,是否还有其它方式?
2.如何将购物车对象存放在cookie中,是不是在定义类时加上[Serializable],如何把它序列化成可以放在cookie中的字符型呢?谢谢!
...全文
2191 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qltouming 2008-04-15
  • 打赏
  • 举报
回复
如果没有设置 Cookie 的有效期,还是可以创建 Cookie,但它不会保存到用户的硬盘上,而是会成为用户会话信息的一部分。如果用户关闭浏览 器或会话超时,该 Cookie 就会被删除。这种非永久性的 Cookie 很适合用来保存只需短时间保存的信息,或者保存由于安全原因不应该写入客户 计算机磁盘的信息。例如,如果用户使用的是一台公用计算机,而您不希望把 Cookie 写入这种计算机的磁盘上,这时就可以使用非永久性的 Cookie。

  您可以通过多种方法把 Cookie 添加到 Response.Cookies 集合中。以下示例介绍了两种完成此任务的方法:

Response.Cookies("userName").Value = "mike"
Response.Cookies("userName").Expires = DateTime.Now.AddDays(1)

Dim aCookie As New HttpCookie("lastVisit")
aCookie.Value = DateTime.Now.ToString
aCookie.Expires = DateTime.Now.AddDays(1)
Response.Cookies.Add(aCookie)
   该示例向 Cookies 集合中添加了两个 Cookie,一个称为“userName”,另一个称为“lastVisit”。对于第一个 Cookie,我直接设置了 Response.Cookies 集合的值。您可以使用这种方法向集合中添加值,因为 Response.Cookies 是从 NameObjectCollectionBase(英文)类型的特殊集合派生得到的。

   对于第二个 Cookie,我创建了 Cookie 对象的一个实例(HttpCookie [英文] 类型),并设置了其属性,然后通过 Add 方 法把它添加到 Response.Cookies 集合。实例化 HttpCookie 对象时,您必须把 Cookie 名称作为构造函数的一部分进行 传递。

  这两个示例完成了相同的任务,即向浏览器写入一个 Cookie。您要采用哪种方法主要取决于您的个人喜好。您可能会发现第二种方法在设置 Cookie 属性方面要稍微容易一些,但同时您也会注意到两者的差别并不是很大。

qltouming 2008-04-15
  • 打赏
  • 举报
回复
揭开ASP.NET中Cookie编程的奥秘

http://d.download.csdn.net/down/336652/chenroujie
qltouming 2008-04-15
  • 打赏
  • 举报
回复
Session会超时,容易丢东西,cookie大小有限制。
看了下Pet Shop,是使用Profile存入数据库的。

C# Cookie实现的购物车 代码下载
http://download.csdn.net/source/327575
AdmiralMeng 2008-04-15
  • 打赏
  • 举报
回复
我不清楚到底哪个好,Google了一下,有的说cookie好,也有的说Session好,我最想知道的问题是假如用cookie,如何存放购物车,是将对象序列化后存在cookie中吗,好像cookie不能直接存对象,
qltouming 2008-04-15
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20071106/19/9b7dbd29-4f4a-4c00-85b9-fa84c3be33c7.html
qltouming 2008-04-15
  • 打赏
  • 举报
回复
cookie里?Session比较好吧

62,074

社区成员

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

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

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

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