質問
Wcfは初めてで、最初のWcfサービスを作成しようとしました。アンマネージコードを持ち、ファイル操作を行うクラス(新しいアセンブリ)を追加しました。サービスの動作は次のように設定されます
InstanceContextMode = InstanceContextMode.Single
ConcurrencyMode = ConcurrencyMode.Single
サービスへのアクセスがシングルモードの場合、新しいファイル操作クラスが作成されます。ファイル操作クラスが失敗すると(メモリリークまたはクリティカルエラー)、ホストへのすべての新しい接続が以前の接続の影響を受けることに気付きました。
相互に完全に分離され、クライアント接続が閉じられた後に完全に破棄されるWcfインスタンスを作成することは可能ですか?
よろしく、 トーマス
解決
はい、それが優先モードです-「コールごと」と呼ばれます:
InstanceContextMode = InstanceContextMode.PerCall
ConcurrencyMode = ConcurrencyMode.Single
そのようにして、WCFサービスに着信する各リクエストは、サービスクラスの独自の個別の分離されたインスタンスを取得し、そのインスタンスがリクエストを処理してから破棄されます。
これにより、最大のパフォーマンスが得られ、リクエストが相互に分離されます。
所属していません StackOverflow