我有一个WCF服务需要初始化一些用于所有传入呼叫的昂贵资源。首先,我使用静态变量来记录其状态,但是每次调用都会重置变量。然后我使用静态服务构造器来初始化,但是每次来电都会调用它。我尝试将InstanceContextMode设置为Single和PerSession,但它们都没有工作。
有什么想法吗?
答案 0 :(得分:0)
如果您需要在对服务的所有调用中访问这些资源,那么将InstanceContextMode设置为Single肯定是可行的方法。可能发生的事情(只是猜测)是您的工作进程被回收,导致初始化代码必须在新的工作进程启动时再次运行。如果发生了这种情况,请查看此文档以配置应用程序池以使用自动启动。
http://msdn.microsoft.com/en-us/library/ee677260.aspx
如果这没有用,那么有关如何/在何处实施初始化代码的其他详细信息将会有所帮助。