序列化与反序列化(记住密码)
平常我們在做"記住密碼"的時候,大多都是使用Cookie保存,然后設(shè)置保存的時間,但是上次Frame(窗體應(yīng)用程序中)項目中,一直沒找到怎么保存Cookie的方法,所以采用使用序列化的方法完成。
//序列化
1.引用命名空間 ?Using ? System.IO
2.登錄成功序列化代碼:
? ? ? ? ? ? ? ? ?if(cb_savepwd.Checked){//記住密碼復(fù)選框被選中
? ? ? ? ? ? ? ? ? ? ? ?User ? ? ?userobj=new ? User();
? ? ? ? ? ? ? ? ? ? ? ?userobj.UserName="heng_wang";
? ? ? ? ? ? ? ? ? ? ? ?userobj.pwd="123456";
?
? ? ? ? ? ? ? ? ? ? ? ?FileStream ?myfs=new ?FileStream("Login.bin",File.Create);//創(chuàng)建文件流
? ? ? ? ? ? ? ? ? ? ? ?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;//記住密碼的復(fù)選框按鈕選中
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? FileStream ? myfs=new ?FileStream("Ligin.bin",FileMode.Open);//打開文件流
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? BinaryForamtter ? ?bf=new ?BinaryForamtter();
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? User ? ? ?userobj=(User)bf.Deserialize(myfs);//反序列化
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //文本框的顯示.....
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ?}
轉(zhuǎn)載于:https://www.cnblogs.com/TanYong/p/4581096.html
總結(jié)
以上是生活随笔為你收集整理的序列化与反序列化(记住密码)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转载]UEditor报错TypeErr
- 下一篇: WorldWind源码剖析系列:可渲染对