12


4

WCFランタイムは、通常のプロセスではなくIoCコンテナを介してサービスをインスタンス化することができますか? (また、型のコンテナーのライフスタイル構成とサービスのInstanceContextBehaviorとの間の潜在的な衝突を考えると、このアプローチはひどい考えでしょうか?)

私は私が全く間違った質問をしているのかもしれないことを知っています。 私の目的は、コンテナによって提供されるメソッドインターセプト機能を介したAOPアプローチです(たとえば、メソッドの入力/終了のログ記録、パフォーマンスカウント、呼び出し調整など、すべてサービス実装に挿入したくないロジックと依存関係を含みます)。 私はWCFがこれにアプローチする他の方法を提供すると想像するので、私は他の推奨されるアプローチを聞くのも興味があるでしょう。

2 回答


8


短い答え - はい、それは可能です。

Castle WCFの統合を見てください。 それでは、WCFにCastle Windsorを使用しましょう。これは、依存関係を注入するよりもはるかに強力な機能を提供します。 トランクバージョンhttp://builds.castleproject.org/project.html?projectId=project32を使用するのが最善です。 多くのドキュメントはありませんが、テストを見てください。 従うのは簡単で、あなたにとって良いサンプルコードになるでしょう。 WCF機能はあなたがまさにあなたが尋ねているそのような種類の考えをさせよう。


3


はい、ObjectBuilderとSpring.NETの両方を使用した実装があります(リンクをたどればもっと見られます)。

ただし、ライフスタイルとインスタンスコンテキストの動作の相互作用についてはコメントできません。

もっとWCF特有のアプローチに関しては、(上記の例がそうであるように)WCFの振る舞いの概念を利用することも役に立つかもしれません。 いくつかの異なる種類があります、出発点はここにあります:

乾杯、マット