2009-02-26 3 views
0

各操作の直前および直後にいくつかのコードを実行するには、WCF操作プロセスにフックする必要があります。WCF操作へのフック

いくつかのコンテキスト:

  • は、私はすでにカスタムのServiceHost、servicehostfactoryとservicebehavior
  • 私のすべてのサービスを持っているが、私は周りとIスヌーピングてきた共通の基底クラス

に基づいていますIParameterInspectorを使うのが最善の選択だと思うが、実行する必要のあるコードが何もパラメータを持たないことを考えると、私は完全にはわからない。

手がかりは?

答えて

2

IParameterInspectorは悪い選択ではありません。

どの操作/セッション/エンドポイントが起きているのか知っているか、すべての操作で同じロジックをインストールしていますか?メッセージオブジェクトを変更する必要がありますか? (これらの考慮事項は、選択肢の選択肢を変更する可能性があります)

スレッドローカルストレージを変更する必要はありますか?その場合は、ICallContextInitializerを優先します。

+0

はい、スレッドローカルストレージが必要です。 各契約ごとに自動的に(各契約の属性に戻らずに)CallContextInitializerを設定できますか? – Inferis

+0

ええ、あなたは、すべての操作を歩き回り、各DispatchOperation.CallContextInitializersを呼び出すサービス/エンドポイント/契約の動作を書くことができるはずです。 – Brian

関連する問題