2012-03-09 9 views
2

に呼ばれるクラスの静的コンストラクタ私は次のように契約を実装するサービスクラスを持っている:WCFサービスの呼び出しごと

interface IContractFoo 
{ 
    void Foo(); 
} 

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

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

私はfinidingています何のFooのAPIが呼び出されるたびに、静的コンストラクタが呼び出されるということです。だから、ログは次のようになります -

静的コンストラクタは
fooが
fooという
静的コンストラクタを呼ばれると呼ばれ、これは静的コンストラクタであるので、これは起こってはならない

と呼ばれます。どんなアイデアが間違っている可能性がありますか?デフォルトではすべてのヘルプ

+0

私はこれが起こっていることが判明WCF/ASPため。 NETは要求ごとに新しいappdomainを作成しています。これを止める方法を見つけなければなりません。コメント歓迎。 – Prapti

答えて

2

ため

おかげで、WCFサービスは、「コールごとの」モデルを使用しています。私はstaticでコンストラクタをマークするとその動作が変わるとは思わない。これは、ServiceBehavior属性を使用するか、このサービスに関連付けられたweb.configファイルのServiceBehavior設定を変更することで変更できます。

は、ここでは、あなたのサービスのために適切であるモデルを決定するのに役立つかもしれないカップルの記事です:

+1

WCF/ASP.NETは要求ごとに新しいappdomainを作成しているので、これが起こっていることがわかりました。これを止める方法を見つけなければなりません。コメント歓迎。 – Prapti

+0

プルプティ、あなたはそれをどこで見つけましたか? – SerG

関連する問題