0

我有一个 WCF 服务,它需要初始化一些用于所有传入呼叫的​​昂贵资源。首先,我使用一个静态变量来记录它的状态,但每次调用都会重置该变量。然后我使用了一个静态服务构造函数来初始化,但是每次来电都会调用它。我尝试将 InstanceContextMode 设置为 Single 和 PerSession,但它们都不起作用。

有任何想法吗?

4

1 回答 1

0

如果您需要在对服务的所有调用中访问这些资源,那么将您的 InstanceContextMode 设置为 Single 绝对是一种方法。可能发生的事情(只是猜测)是您的工作进程正在被回收,导致您的初始化代码在新的工作进程启动时必须再次运行。如果发生这种情况,请查看此文档以将您的应用程序池配置为使用自动启动。

http://msdn.microsoft.com/en-us/library/ee677260.aspx

如果这没有帮助,那么有关如何/在何处实现初始化代码的一些其他详细信息将很有帮助。

于 2013-08-14T21:14:14.410 回答