2017-02-02 89 views
0

我正在使用用戶範圍中的設置來存儲用戶文化。用戶設置 - 多個用戶使用相同的Windows帳戶

我的問題是:

  • 多個用戶使用同一臺機器將共享相同的用戶範圍的設置,或者每個用戶都會有自己的用戶設置?

用戶使用相同的Windows帳戶,並且只在該應用程序的登錄中進行區分。

+0

「在同一臺計算機上,我的意思是使用相同的Windows用戶帳戶。」這是完全不同的兩件事。 「同一臺機器」*不等於「相同的用戶帳戶」。你是否說過只有一個用戶帳戶是由所有人共享的,纔有多個人登錄到計算機上?你想讓不同的人有不同的設置?如果是這樣,那麼你的應用程序就不會知道誰坐在鍵盤上。你必須包括一些方法讓他們選擇他們的個人資料,可以說,當他們開始使用你的應用程序。 –

+0

「你是說你有多個物理人登錄到計算機上,只有一個用戶帳戶是由所有人共享的?」是。 「你想要不同的人有不同的設置?」我想知道他們是否共享相同的用戶設置。 –

回答

1

如果多人使用共享用戶帳戶登錄到單臺計算機,則默認情況下,他們將在他們使用應用程序時共享相同的設置,除非您編程使​​其無法工作。這是因爲應用程序無法知道其他人正在使用它。由於它是一個用戶帳戶,因此應用程序不知道另一個人正在使用應用程序坐在鍵盤後面。

如果您希望爲共享一個用戶帳戶的不同人員設置不同的設置,可以引入某種「配置文件」,其中每個配置文件都包含自己的設置。用戶每次啓動應用程序時都必須選擇他們的配置文件。

編輯:基於您最近的更新(涉及特定登錄到您的應用程序):我建議您可以修改我的方法,以便配置文件綁定到登錄,因此用戶不必選擇個人資料。爲了解決您的問題「是否可以爲每個登錄用戶設置C#設置,或者我需要將該信息存儲在數據庫中或以任何其他方式?」:這取決於您意思是「C#setting」。如果您正在討論存儲在App.config中的內置「設置」,那麼默認情況下只有一個。您有幾個選擇:您可以編寫代碼來動態加載(在運行時)您自己的App.config - 每個用戶「登錄」您的應用程序(有關更多信息,請參閱this answer);您可以將您的設置保存在您自己的自定義XML文件中;您可以將設置存儲在Windows註冊表中的層次結構中(如果您使用的是Windows);並且可以像您建議的那樣將它們存儲在數據庫中。隨你便。

+0

「其中每個配置文件都包含自己的設置」但是可以爲每個登錄用戶設置C#設置,或者我需要將該信息存儲在數據庫中或以任何其他方式? –

+0

@FábioSilva - 查看我的答案更新。 –