我有一个WCF服务,并使用Spring.ServiceModel.Activation.ServiceHostFactory作为我的* .svc中的工厂。我需要的是在第一次调用服务或重新启动服务时将一些数据加载到缓存中。 你能建议一个最好的方法吗? 现在我继承了Spring.ServiceModel.Activation.ServiceHostFactory并将我的代码放在那里,但可能应该是一个更好的方法? Tnx提前。
答案 0 :(得分:0)
您可以使用AOP拦截调用(因为您已经使用Spring)来获取“第一次调用”,但最直接的做法是在服务的构造函数中调用缓存提供程序或进行一些初始化方法
答案 1 :(得分:0)
我们目前在自定义ServiceHostFactory的静态构造函数中有这种启动代码。根据您对服务的IIS“应用程序池”的设置,这应该没问题。
您需要查看应用程序池的回收设置。一旦它被回收,静态构造函数将再次被调用。