【问题标题】:Initialize expensive resource at start up of WCF service hosted in IIS在 IIS 中托管的 WCF 服务启动时初始化昂贵的资源
【发布时间】:2013-08-15 05:14:14
【问题描述】:

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

有什么想法吗?

【问题讨论】:

    标签: wcf initialization


    【解决方案1】:

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

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

    如果这没有帮助,那么有关如何/在何处实现初始化代码的一些额外细节会很有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 2011-08-16
      相关资源
      最近更新 更多