序列化与反序列化(记住密码)
平常我们在做"记住密码"的时候,大多都是使用Cookie保存,然后设置保存的时间,但是上次Frame(窗体应用程序中)项目中,一直没找到怎么保存Cookie的方法,所以采用使用序列化的方法完成。
//序列化
1.引用命名空间 Using System.IO
2.登录成功序列化代码:
if(cb_savepwd.Checked){//记住密码复选框被选中
User userobj=new User();
userobj.UserName="heng_wang";
userobj.pwd="123456";
FileStream myfs=new FileStream("Login.bin",File.Create);//创建文件流
BinaryFormatter bf=new BinaryFormatter();
bf.Serialize(myfs,userobj); //序列化
}
else
{
File.Delete("Login.bin");//删除
}
3.窗体的加载事件,显示上次登录使用的密码,
//1.Private void LoginFrame_Load(object serder,EvertArgs e)
{
if(File.Exists("Login.bin"))//判断该文件是否存在
{
cb_savepwd.Checked=true;//记住密码的复选框按钮选中
FileStream myfs=new FileStream("Ligin.bin",FileMode.Open);//打开文件流
BinaryForamtter bf=new BinaryForamtter();
User userobj=(User)bf.Deserialize(myfs);//反序列化
//文本框的显示.....
}
}