12

我有几个几乎永远不会改变的实体(即国家、地区等的列表),这让我开始思考……除了正常的存储库之外,静态存储库对这些实体是否有意义?我还要说,因为这些实体仍将与其他实体交互,并且我仍然希望它们在单个工作单元下,以便它们共享相同的上下文。

但是,我确信有更好的方法来解决它。我是 ASP.NET 和 .NET 框架的新手,但是有没有办法定义将在程序的整个生命周期中使用的应用程序范围的数据?这是最好的方法吗?

还是只定义一个包含这些实体集合的静态类更好,我可以在需要时从那里获取它们?

4

3 回答 3

8

您可以使用各种存储(状态管理)技术。请按照以下选项了解更多信息。

从它的声音来看,您尝试存储的两个实体不会占用大量内存,因此最好选择应用程序缓存。

于 2012-12-18T15:15:28.737 回答
3

为什么不直接使用缓存机制?我在这种情况下成功地使用了 memchache。

于 2012-12-18T14:56:18.017 回答
2

我认为 Nexus23 的答案涵盖了您的大部分选择。但我发现对于这样的一些数据(美国各州、城市),有时最好根本不维护列表,因为它只是供您将来处理的事情。可用性方面以及拥有 190 多个国家/地区的列表(联合国和美国承认不同的列表)对于用户滚动浏览并不理想。

除非您计划根据世界地缘政治变化进行更新,否则该应用程序的用户很可能会比您更了解什么是正确的。

如果您需要此列表用于地址验证或地理定位等功能,最好推迟到为此而设计的服务,而不是尝试在内部重新滚动(Google Maps API 等)。

于 2012-12-18T15:35:41.433 回答