我的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 –