Silverlight和应用程序状态

时间:2010-11-09 20:17:57

标签: c# .net silverlight silverlight-4.0 application-state

我有一个Silverlight应用程序,总是需要知道当前加载的Customer(域对象)。一次只能加载一个。如果Customer为null,则当前未加载任何Customer。或者您退出了客户。我将有另外3个像Customer这样的状态类型属性。所以...

在Silverlight应用程序中存储应用程序状态的最佳方法是什么?

1)将公共属性添加到App类(App.xaml.cs)
2)有一个状态对象,你可以通过你的IoC容器新建一个单例。将公共属性添加到此对象 3)任何其他想法?

3 个答案:

答案 0 :(得分:1)

我的投票将是你的第二个选择,有一个状态对象单身。如果您正在使用MVVM和Silverlight Toolkit,那么您将在MainViewModel中内置一个静态并在ViewModelLocator中静态初始化的内置。这将是实现理想结果的理想场所。

答案 1 :(得分:1)

我会选择第二种选择。

目前正在处理存储域对象的状态数据的Silverlight应用程序。

我们拥有被称为通过IoC解析的ApplicationManager来存储参考数据和域数据。可能有一个比ApplicationManager更好的术语,但到目前为止还没有找到标准的命名约定。

这个概念很有效,我们所有的View Models都可以访问ApplicationManager,所以当应用程序的另一部分需要采取行动时,我们所传递的只是实体id。

如果您有异步操作更新数据,则需要注意保持UI和数据存储的一致性

答案 2 :(得分:1)

我有类似的问题。当我使用MEF时,我创建了一个保存数据的服务。您可以在需要的地方导入服务,并可以访问引用的对象。 (所以它类似于2)