0

我有一个 WCF 服务,并在我的 *.svc 中使用 Spring.ServiceModel.Activation.ServiceHostFactory 作为工厂。我需要的是在第一次调用服务或重新启动服务时将一些数据加载到缓存中。你能建议一个最好的方法吗?现在我从 Spring.ServiceModel.Activation.ServiceHostFactory 继承并将我的代码放在那里但可能应该是更好的方法?提前Tnx。

4

2 回答 2

0

您可以使用 AOP 拦截调用(因为您已经在使用 Spring)以获取“第一次调用”,但最直接的做法是在服务的构造函数或某些初始化方法中调用缓存提供程序。

于 2009-11-03T13:42:40.030 回答
0

我们目前在自定义ServiceHostFactory的静态构造函数中有这种启动代码。根据您对服务的 IIS 应用程序池的设置,这应该没问题。

您需要查看应用程序池的回收设置。一旦它被回收,静态构造函数将被再次调用。

于 2009-11-03T13:52:11.977 回答