我有一个场景,当我开始运行Web服务时,我必须从SQL服务器加载数据。后来我必须将这些数据用于我的应用程序,而不是每次都从数据库访问它。除此之外,这个数据应该每隔一小时刷新一次,而不会影响后端的网站操作。如果您遇到任何这样的情况,请告诉我解决方案。顺便说一句,我正在使用asp.net Web服务,SQL服务器数据库和DNN作为我的前端。谢谢提前。
答案 0 :(得分:0)
在Global Asax,应用程序启动事件中,您可以在数据集中加载所有数据。 并且通过使用Sql Cache依赖,您可以刷新每小时的数据。但是加载 不建议使用整个数据。通过这样做,你的记忆就会充满。会有 性能下降。
http://www.codeproject.com/Articles/14976/ASP-NET-Caching-Dependencies
答案 1 :(得分:0)
预加载所有数据并不是一个好习惯,因为数据库失去了它的目的。对于一些很少更新但很频繁需要的数据来说可能没问题,但绝对不是数据库中的所有数据。
至于加载数据,你可以像其他人已经建议的那样使用app start事件。
关于缓存 - 使用Application对象使这些数据可用于应用程序的所有部分,并为其添加一个保留上次更新时间的属性。然后创建单独的服务,每隔X分钟检查一次上次更新时间,并在时间到来时刷新数据。