我们可以在WCF应用程序中获取缓存数据的第一个事件是什么?

时间:2016-11-23 19:24:07

标签: wcf caching iis

我在winform应用程序中公开了一个WCF服务,它在服务器上的IIS上托管,其中有大约10个方法。

在计算所有10种方法时,我需要一些常用数据。我想要的是在服务启动时只获取此公共数据一次并将其放入缓存中,以便所有方法都可以从此缓存中获取数据,而不是从数据库中获取数据。

我可以做的一件事是检查是否有可用的缓存,然后不是获取它,否则使用现有的。但是我在所有暴露的方法中都这样做,因为我不知道将首先调用哪些方法。所以需要一个简洁明了的方法来做到这一点。

有没有办法实现它?

1 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的简单方法。在Cache类中,我添加了一个静态构造函数,在那里我编写了获取缓存数据的代码。众所周知,静态构造函数只能被调用一次,并且无法显式调用。因此,只要我们尝试读取Cache类的任何变量(所有都是静态变量来保存缓存数据),我们的静态构造函数将被自动调用,并且它将缓存数据填充到相应的静态变量。