跨mvc应用程序将数据保存在缓存中的最佳方法

时间:2012-07-30 18:27:49

标签: c# asp.net caching

在我的应用程序中,我有一个可以从数据库表中读取的学校列表。我希望在我的网站的许多地方使用此列表,例如注册表单,我网站上的不同下拉菜单等。如果不经常更改,跟踪这些数据的最佳方法是什么,我想要存储它在缓存中,但是在应用程序的哪个位置加载该缓存?我还使用依赖注入并创建一些检索此数据的自定义类吗?数据集不算大,最多只有20多所学校。

2 个答案:

答案 0 :(得分:0)

我会使用依赖注入和存储库模式。在创建时,每个会话将执行一次注入。这是在创建存储库并将其存储为单例类时,然后可以将其注入到需要它的每个页面中。

创建存储库后,您可以对数据存储执行一次读取操作以获取学校列表,并将其加载到内部列表中。

implementing IOC in MVC上有一些优秀的文章可以帮助你开始。

对于存储库模式,有许多不同的实现方式,只需进行Google搜索。

答案 1 :(得分:0)

根据您接听电话的要求,您希望如何维护缓存的纯设计决策。您可以在global.aspx

中的应用程序启动事件期间将这些数据加载到应用程序对象/缓存对象中

参考此

http://www.asp.net/web-forms/tutorials/data-access/caching-data/caching-data-in-the-architecture-cs

http://msdn.microsoft.com/en-us/library/dd129907.aspx