每次调用时调用的WCF Service类静态构造函数

时间:2012-03-09 20:09:41

标签: wcf static-constructor

我有一个Service类实现合同如下:

interface IContractFoo
{
    void Foo();
}

Class ServiceFoo() : IContractFoo
{
    public static ServiceFoo()
    {
        Log("Static constructor called");
    }

    void Foo()
    {
        Log("Foo called");
    } 
}

我要说的是,每次调用Foo API时,都会调用静态构造函数。所以,日志看起来像这样 -

  

静态构造函数称为
  Foo称为   静态构造函数称为   Foo叫

这不应该发生,因为这是一个静态构造函数。知道会出现什么问题吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

默认情况下,WCF服务使用“每次调用”模型。我不认为使用static标记构造函数会改变该行为。您可以使用ServiceBehavior属性或通过更改与此服务关联的web.config文件中的ServiceBehavior设置来更改此设置。

以下几篇文章可以帮助您确定哪种模式适合您的服务: