12

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

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

4

2 に答える 2

8

短い答え - はい、そうかもしれません。

Castle WCF の統合をご覧ください。これにより、Castle Windsor を WCF に使用できるようになり、依存関係を注入するだけでなく、はるかに強力な機能が得られます。こちらにあるトランク バージョンを使用することをお勧めします。それに関するドキュメントはあまりありませんが、テストを見てください。従うのは簡単で、あなたにとって良いサンプルコードになるでしょう。WCF 機能を使用すると、まさにあなたが求めている種類の思考を行うことができます。

于 2008-12-30T08:52:29.163 に答える
3

はい、ここにObjectBuilderとSpring.NETの両方を使用した実装があります(リンクをたどるとさらに多くなります!):

http://www.infoq.com/news/2008/01/wcf-di

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

より多くのWCF固有のアプローチに関しては、(上記の例のように)WCFの動作の概念を活用することも役立つ場合があります。いくつかの異なるタイプがあります、ここに出発点があります:

http://mehranikoo.net/CS/archive/2007/02/22/WCFBehaviours.aspx

乾杯、
マット

于 2008-12-30T05:25:30.283 に答える