2012-02-02 8 views
2

WCFサービスはIISでホストされています。WCFでオブジェクトを一度初期化する

サービスへのすべての呼び出しを通じて存在するいくつかのものを一度初期化する必要があります。

これらの初期化を行う適切な場所は、どこですか?

ありがとうございます。

答えて

4

使用コンストラクタ(BaseServiceまたは実際のサービスクラスのいずれかのもの)これらのプロパティを初期化する

ベア各クライアント要求

ため厳密に任意のシングルトン戦略を使用していない不要な場合:

シングルトンWCFサービスはめったにシングルトンは番目ですused-する必要がありますスケーラビリティの敵!奇妙なシナリオでは、1つのファイル、単一の通信ポートまたはハードウェアデバイスにログを記録するだけで意味があります。

+0

これは実際には私がやりたいことですが、ログ用のファイルと1つのDBオブジェクトを作成します。 –

+0

特にDB操作のスレッド間の同期を管理するのは難しいでしょう –

1

静的コンストラクタで、またはLifetime Managerを使用してContainer'sを使用して初期化できます。 WCFサービスは、パーコールインスタンス・モード用に設定されている場合、サービスインスタンスが作成されることを念頭に置い

Singleton Per Call Context (Web Request) in Unity

1

WCFサービスがASP.NET互換モードを使用するように設定されている場合は、Global.asaxのApplication_OnStartで初期化してください。

関連する問題