Cookie保存对象

zhengyong710521 2010-01-18 05:10:00
我用序列化来保存的起,但是我觉得太复杂了这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;

public partial class CookieAddObject_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
//保存Cookie
protected void Button1_Click(object sender, EventArgs e)
{
byte[] b;
string loignId = this.txtLoginId.Text.Trim();
string loignPwd = this.txtPwd.Text.Trim();
User u = new User();
u.LoginId = this.txtLoginId.Text;
u.LoginPwd = this.txtPwd.Text;
SerUser(u);
FileStream fs = new FileStream(@"E:\ASP.Net\Test\Test1\CookieAddObject\user.txt", FileMode.Open);
b = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
b = br.ReadBytes(Convert.ToInt32(fs.Length));
fs.Close();
Response.Cookies["user"].Value = Convert.ToBase64String(b);

}

private void SerUser(User u)
{
FileStream fs = new FileStream(@"E:\ASP.Net\Test\Test1\CookieAddObject\user.txt", FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, u);
fs.Close();
}
//读取Cookie
protected void Button2_Click(object sender, EventArgs e)
{
byte[] bb = Convert.FromBase64String(Request.Cookies["user"].Value);
MemoryStream ms = new MemoryStream(bb);
BinaryFormatter bf = new BinaryFormatter();
User u = (User)bf.Deserialize(ms);
this.Label3.Text = u.LoginId;
this.Label4.Text = u.LoginPwd;
}
}
...全文
454 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hajie100 2012-06-01
  • 打赏
  • 举报
回复
在用viewstate的时候,很容易丢失,没有session可靠,这其中是什么原因啊?
zdwoaini 2011-07-23
  • 打赏
  • 举报
回复
顶,牛人啊
mngzilin 2010-01-19
  • 打赏
  • 举报
回复
将对象序列化后保存,但是序列化后不能大于4K
chen_ya_ping 2010-01-18
  • 打赏
  • 举报
回复
考虑用session或者viewstate
igelf 2010-01-18
  • 打赏
  • 举报
回复
只有这样.
vrhero 2010-01-18
  • 打赏
  • 举报
回复
单个Cookie最大限制是4K,超出长度不会被保存...
wuyq11 2010-01-18
  • 打赏
  • 举报
回复
Cookie 是一小段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递
保存在客户端的,不行
可以session或viewstate保存
xueyuyang 2010-01-18
  • 打赏
  • 举报
回复
保存userid就行啊,干嘛保存整个对象。
段传涛 2010-01-18
  • 打赏
  • 举报
回复
1、session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。 2、session中保存的是对象,cookie中保存的是字符串。

cookie 只能保存字符串。
你那么搞太累了
十八道胡同 2010-01-18
  • 打赏
  • 举报
回复
up
孟子E章 2010-01-18
  • 打赏
  • 举报
回复
Cookie只能保存字符串。你可以使用ViewState保存对象

62,254

社区成员

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

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

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

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