WebFormsでCastle Windsorをどのように配線するのかと思いました。WebFormsへのnHibernate ISessionのCastle Windsor依存性注入
私はMVCのコントローラ、第2ラインの配線を想定しています:
// Initialize Windsor
IWindsorContainer container = new WindsorContainer().Install(FromAssembly.This());
ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container.Kernel));
がどのように私は、ASP.NETでWebフォームを配線していますか?
私は同じWebFormsセットアップに変更したプロジェクトを持っていました。 Castle WindsorがISessionをASPXページに挿入するようになるまで、すべてが機能します。これは単にできませんし、私は前の2行目のコードはMVCコントローラのためのものであるという前提の下にあります。
私はNHibernateはインストーラでこれを持っているが、両方のプロジェクトのtehの同じ場所に:
container.Register(Component.For<ISession>()
.LifeStyle.PerWebRequest
.UsingFactoryMethod(kernel => kernel.Resolve<ISessionFactory>().OpenSession()));
私はもともと、これはそれを行うだろうと想定していたが、それはそうではありません。
私は数日間このことに固執しており、これについての公式の資料はほとんどありません。私は自分の髪を切り取っています。
私はASP.NETのWebフォームは、具体的に依存性の注入で動作するように設計されていないが、私は城ウィンザーは、もはや互換性および/または意志はないことを確認することはできません場合はNinjectは、少しハッキングとはいえ、それを行っている知っていますWebFormsをサポートします。私は何かに移動します。
ありがとう、ちょうど私が探していたもの。私は基本に戻ってキャッスルを裂きましたが。私がもう一度それを必要とすれば私はどこを見るか知っている。 – Anthony