1)我使用Visual Studio 2008(C#)在數據庫
2)保存用戶設置我希望我的桌面應用程序單獨「記住」對每一位用戶的某些設置(偏好)。
3)應用程序將使用自己的用戶數據庫(登錄名+密碼),因此它們與Windows帳戶無關。
我該如何做到這一點?
我正在考慮用名稱/值對列創建USERSetting表,然後將此信息序列化到USERSetting類。我的設置本身可以是一個很大的XML,我想知道是否有更好的解決方案。
任何示例代碼都會有幫助。
1)我使用Visual Studio 2008(C#)在數據庫
2)保存用戶設置我希望我的桌面應用程序單獨「記住」對每一位用戶的某些設置(偏好)。
3)應用程序將使用自己的用戶數據庫(登錄名+密碼),因此它們與Windows帳戶無關。
我該如何做到這一點?
我正在考慮用名稱/值對列創建USERSetting表,然後將此信息序列化到USERSetting類。我的設置本身可以是一個很大的XML,我想知道是否有更好的解決方案。
任何示例代碼都會有幫助。
把它放在服務器上與其餘的數據是你最好的選擇。這樣,數據就會得到定期備份,如果有人得到新電腦,他們不會丟失設置。
名稱值對很容易就可以開始,但從數據庫設計角度來看,這並不是一個好的做法。規範化的數據結構將是我的選擇。
如果您認爲這樣可以讓您更輕鬆,可以將設置放入XML結構中並將其放入數據庫中。
你可以使用內置的UserSettings類嗎?它們具有用戶特定的設置和應用程序範圍的設置。
你可以在這裏做一些簡化。
如果您使用的是SQL Server,它本身支持XML - 您可以將設置XML直接存儲到數據庫中或從數據庫中存儲。這將允許您序列化/反序列化您的XML,而無需執行任何手動屬性轉換。
看看如何使用Custom Settings Provider輕鬆處理來回移動設置。
這實際上取決於您的應用程序的大小。您是使用SQL Server還是其他數據庫?如果它是一個桌面應用程序,並且您正在使用數據庫,那麼您可能會發現在需要時可以更快地查詢數據庫。但是,如果用戶不多,則XML文件就足夠了。 (這不是一個答案,只是想到的食物:)) – keyboardP 2010-01-15 20:24:42
重複幾乎確切 - http://stackoverflow.com/questions/1381115/alternate-user-scoped-settings-in-a-c-sharp-desktop-application – galford13x 2011-11-29 19:46:34