实现类似QQ记住密码的功能
记住用户的密码,一般浏览器都有这个功能,基于C/S结构的软件实现这个功能也有很多方法,这里采用简单的文件流保存用户名及密码的方法来实现这个功能。
Person类,模拟用户
using LMSys.Model;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Runtime.Serialization.Formatters.Binary;using System.Text;using System.Threading.Tasks;namespace LMSys.BLL{ public class RememberUser { private static Dictionary<string, Person> persons = new Dictionary<string, Person>(); /// <summary> /// 构造函数,读取文件流 /// </summary> public RememberUser() { FileStream fs = new FileStream("Data.bin", FileMode.OpenOrCreate); if (fs.Length > 0) { BinaryFormatter bf = new BinaryFormatter(); persons = bf.Deserialize(fs) as Dictionary<string, Person>; } fs.Close(); } /// <summary> /// 返回保存的用户列表 /// </summary> /// <returns></returns> public Dictionary<string, Person> GetList() { return persons; } /// <summary> /// 添加新用户 /// </summary> /// <param name="person"></param> public void AddRemember(Person person) { FileStream fs = new FileStream("Data.bin", FileMode.Create); BinaryFormatter bf = new BinaryFormatter(); if (persons.ContainsKey(person.UserName))//若已存在用户,先移除该用户 { persons.Remove(person.UserName); } persons.Add(person.UserName, person);//再添加该用户,防止用户密码更新 bf.Serialize(fs, persons); fs.Close(); } }}这样,界面就可以很容易调用该类实现记住密码的功能。