0

服务启动时如何加载数据?到目前为止,我在控制台应用程序中托管我的服务,在我的服务启动之前,我首先将数据库中的所有信息加载到内存中(其他对象在我的服务之前保存所有信息)。我正在使用静态变量来访问我的服务中的数据。我知道这种方法是错误的,我怎样才能使它正确。我正在使用 nettcp 绑定,它是自托管的。先感谢您!:)

4

1 回答 1

0

为什么你认为这种方法是错误的?如果您的数据根本没有改变,静态变量就可以正常工作。如果您的数据更改但不是非常频繁,并且您的应用程序可以在有些“陈旧”的数据下生存,您可以使用System.Web.Caching.Cache并根据时间或其他依赖关系自动使缓存中的数据过期。如果您不想让服务用户应用程序从数据库中检索数据时等待,您要么必须有一个单独的线程来监视您的数据库并更新缓存的值,要么使用SqlCacheDependency机制来使您的应用程序无效并刷新您的当数据库中的基础数据更改时缓存值。

于 2012-11-19T01:55:11.150 回答