我有一個登錄屏幕的應用程序,相當典型的場景,我猜。在用戶獲得認證之後,我需要以某種方式存儲他,因爲我將不得不根據他的權限採取行動等等。當然,還會有更多屬性存儲以及。如何在WPF中存儲當前登錄的用戶
什麼是認爲best
實現方式這個?我目前正在評估兩個選項:
1)在我的ViewModels
2)使用App.Current.Properties
並將其存儲有使用單(或靜態屬性),並說明。那麼也許可以使用一些靜態幫手的方法來更容易和一致地檢索用戶在整個應用程序
或者也許有其他的選擇來考慮?感謝您的建議。
看來你正在談論的是在會話期間將用戶存儲在內存中嗎? 如果是這樣,爲什麼不創建一個包含您需要的所有屬性的User類,並在主視圖模型中存儲對此用戶類的實例(可以是單例)的引用。您可以從需要訪問您的用戶屬性的任何其他視圖模型向主視圖模型發送消息,並且主視圖模型將發回消息並引用該用戶類的該實例... – 2013-05-01 21:39:35
@DeanKuga,也許更具體的例子 - 在asp.net中,你將使用會話來存儲用戶特定的數據。然後,您只需引用這些會話變量即可從單個頁面檢索所需的任何內容。什麼是WPF的替代方案?單元測試在單元測試中是有問題的,所以我儘量避免它們,儘管我開始相信這是不可能的。我想有時候最簡單的解決方案是最好的解決方案... – walther 2013-05-01 22:06:13
我認爲爲這樣的事情添加一個依賴於MEF是一個矯枉過正的問題,我不明白爲什麼它必須是單身人士,所以我只是創建在登錄時的User類的一個實例,並根據需要發送對其他視圖模型的引用...查看關於視圖模型間通信的此答案:http://stackoverflow.com/a/14361984/229930 – 2013-05-01 22:21:11