asp.net mvc应用程序中的全局状态

时间:2009-12-09 23:11:52

标签: asp.net-mvc singleton global-variables global-state

问题:我们的Web控制台显示了安装我们的应用程序的所有计算机的列表。每台机器都有一些可与之关联的识别信息。简单的字符串,如部门名称,团队名称等。我们需要使用户可以更改这些标识字段的名称,并根据需要添加/删除。我们怎样才能最好地实现这个目标?

最初,我认为我可以将其作为单身人士实施。在应用程序启动时,我可以从数据库中读取最后设置的标识字段名称,并创建字符串列表的单例实例。这可以传递给需要显示或访问身份信息的所有功能。此选项的吸引力在于,如果用户从ui更改标识字段名称或添加或删除字段,我可以简单地修改单例对象,并且将反映更改。

然而,我觉得必须有更好的方法来实现我想要的。因为有很多这样的信息,用户可以随意修改,我们需要跟踪它们。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

只需使用ORM中的对象在应用程序中维护和使用此信息即可。许多ORM都能够缓存这类东西,所以它不会像你那样失去速度。

我不喜欢使用Singleton来做这件事。单元测试很难,最终你仍然需要将它持久化到数据库中。