我的wpf应用程序有一个登录屏幕。登录屏幕由一个组合框和一组人组成。我目前在初始化时(如果第一次登录时)实现了文件夹目录和文本文件创建,一旦文件夹和文件存在,它会读取文件并根据保存的值,从人员集合中加载正确的用户。保存以前的用户登录信息的正确方法
我的问题是这是最理想的方式吗?我想知道有没有更好的方法来做到这一点,我觉得这是一个非常古老的学校方法。任何提示将非常感谢。
例如,如果John Smith登录 - 下一次John启动应用程序,他的名字将自动为SelectedItem
。
public void CacheInitialize()
{
var folderDirectory = System.AppDomain.CurrentDomain.BaseDirectory + "Cache";
var fileName = "UserCache.txt";
var fileDirectory = folderDirectory + "\\" + fileName;
if (!Directory.Exists(folderDirectory))
{
Directory.CreateDirectory(folderDirectory);
}
if (!File.Exists(fileDirectory))
{
File.WriteAllText(Path.Combine(folderDirectory, fileName), string.Empty);
return;
}
else
{
var filecontent = File.ReadAllText(Path.Combine(folderDirectory, fileName));
if (filecontent != string.Empty)
SelectedUser = Users.First(x => x.Id == int.Parse(filecontent));
}
}
public void CacheSave()
{
var folderDirectory = AppDomain.CurrentDomain.BaseDirectory + "Cache";
var fileName = "cache file3.txt";
var fileDirectory = folderDirectory + "\\" + fileName;
StreamWriter writer = new StreamWriter(fileDirectory);
writer.Write(SelectedUser.Id.ToString());
writer.Close();
}
我的直接答案是使用某种事务数据库。这个文件的东西是在问烦恼!猜猜这确实取决于应用程序的使用情况以及人们如何使用它。这有帮助吗? http://stackoverflow.com/questions/3784477/c-sharp-approach-for-saving-user-settings-in-a-wpf-application –