我有一個總是需要知道客戶(域對象)當前加載的Silverlight應用程序。一次只能加載一個。如果客戶爲空,則當前沒有客戶加載。或者您退出了客戶。我將有3個更多的狀態類型的屬性,如客戶。所以...Silverlight和應用程序狀態
在Silverlight應用程序中存儲應用程序狀態的最佳方式是什麼?
1)將公共屬性添加到App類(App.xaml.cs)
2)有一個狀態對象,您可以通過IoC容器將其作爲單例新建。添加公共屬性到這個對象 3)任何其他的想法?
我有一個總是需要知道客戶(域對象)當前加載的Silverlight應用程序。一次只能加載一個。如果客戶爲空,則當前沒有客戶加載。或者您退出了客戶。我將有3個更多的狀態類型的屬性,如客戶。所以...Silverlight和應用程序狀態
在Silverlight應用程序中存儲應用程序狀態的最佳方式是什麼?
1)將公共屬性添加到App類(App.xaml.cs)
2)有一個狀態對象,您可以通過IoC容器將其作爲單例新建。添加公共屬性到這個對象 3)任何其他的想法?
我的投票將是你的第二個選擇,有一個狀態對象單身人士。如果您使用的是MVVM和Silverlight工具包,那麼您將有一個內置於您的MainViewModel中,該ViewView是靜態的,並在ViewModelLocator中進行了靜態初始化。那將是一個完美的地方來實現你想要的結果。
我會去第二個選項。
目前正在使用存儲域對象狀態數據的Silverlight應用程序。
我們有一個被稱爲ApplicationManager的解決方案,它通過IoC解決以存儲參考數據和域數據。可能比ApplicationManager有更好的術語,但迄今尚未找到標準的命名約定。
這個概念運行良好,我們所有的視圖模型都可以訪問ApplicationManager,所以當我們傳遞的所有內容都是實體標識的時候,應用程序的另一部分需要採取行動。
如果有非同步操作更新你必須牢記保持一致
用戶界面和數據存儲我也有類似問題的數據。在我使用MEF時,我創建了一個保存數據的服務。您可以在需要的地方導入服務並訪問引用的對象。 (所以它類似於2)
服務如何「保存數據」?或者您是否指服務商店並檢索數據? – BuddyJoe 2010-11-17 14:21:27
你可以做到這一點。因此,該服務負責獲取數據,並且它具有存儲當前加載的客戶的屬性(這就是我所說的「存儲數據」的意思) – TerenceJackson 2010-11-17 15:23:47