2

我有一个实现合同的服务类,如下所示:

interface IContractFoo
{
    void Foo();
}

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

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

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

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

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

谢谢你的帮助

4

1 回答 1

2

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

这里有几篇文章可以帮助您确定哪种模型适合您的服务:

于 2012-03-09T20:17:15.697 回答