2011-07-07 10 views
0

ISSでホストされているセッションごとのWCFサービス内では、Ninjectを使用してIASの異なるデータアクセスコンポーネントをインターフェイスから使用したいと考えています。WCFとNinject

一度バインディングを宣言するのに最適な場所はどこですか? Application_Start of Global.asaxにありますか?

もしそうなら、Ninjectからインスタンスを取得するにはどうしたらよいですか?

私はStructureMapで知っている、私たちはObjectFactory.GetInstance()のようなものを呼び出すことができますか? Ninjectに相当するものは何ですか?

おかげ

答えて

0

は、私はあなたがofficial WCF extensionを見ていると仮定しますか?私は通常自分自身のサービスファクトリ(.SVCファイルで参照される)を定義し、そこからNinjectモジュールを参照します。

インターフェイスからインスタンスを取得する場合(つまり、注入するのと反対の場合)は、カーネル経由でインスタンスを取得します。 (あなたのコンストラクタにそれを追加することで、IKernelのインスタンスを任意のクラスに注入することができます。)これを取得したら、次のものを使用します。

kernel.Get<IYourInterface>();