Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Silverlight及其应用状态_C#_.net_Silverlight_Silverlight 4.0_Application State - Fatal编程技术网

C# Silverlight及其应用状态

C# Silverlight及其应用状态,c#,.net,silverlight,silverlight-4.0,application-state,C#,.net,Silverlight,Silverlight 4.0,Application State,我有一个Silverlight应用程序,它总是需要知道当前加载了哪个客户(域对象)。一次只能加载一个。如果客户为空,则当前未加载任何客户。或者你退出了一个客户。我将有3个更多的状态类型属性,比如Customer。所以 在Silverlight应用程序中存储应用程序状态的最佳方法是什么 1) 将公共属性添加到应用程序类(App.xaml.cs) 2) 有一个状态对象,您可以通过IoC容器将其作为单例进行更新。将公共属性添加到此对象 3) 还有其他想法吗?我投票支持你的第二个选择,即使用状态对象si

我有一个Silverlight应用程序,它总是需要知道当前加载了哪个客户(域对象)。一次只能加载一个。如果客户为空,则当前未加载任何客户。或者你退出了一个客户。我将有3个更多的状态类型属性,比如Customer。所以

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

1) 将公共属性添加到应用程序类(App.xaml.cs)
2) 有一个状态对象,您可以通过IoC容器将其作为单例进行更新。将公共属性添加到此对象
3) 还有其他想法吗?

我投票支持你的第二个选择,即使用状态对象singleton。如果您使用的是MVVM和Silverlight工具包,那么您将在MainViewModel中构建一个,它是静态的,并在ViewModelLocator中静态初始化。那将是一个完美的地方来实现你想要的结果。

我会选择第二个选项

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

我们有一个被称为ApplicationManager的应用程序,它通过IoC来存储参考数据和域数据。可能有一个比ApplicationManager更好的术语,但迄今为止还没有找到标准的命名约定

这个概念运作良好,我们所有的视图模型都可以访问ApplicationManager,所以当应用程序的另一部分需要采取行动时,我们只传递实体id


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

我也遇到过类似的问题。在使用MEF时,我创建了一个保存数据的服务。用户可以在需要时导入服务,并可以访问引用的对象。(因此类似于2)

服务如何“保存数据”?或者你是说服务存储和检索数据?你可以两者兼而有之。因此,服务负责获取数据,并且它有一个存储当前加载的客户的属性(这就是我所说的“保存数据”)