1

問題

Castle Monorail プロジェクトで Castle Windsor を IoC コンテナーとして使用しています。IRailsEngineContext の現在のインスタンスを、コントローラー内のコンテナーから解決されるオブジェクトに挿入したいと考えています。

環境

Railsコンテキストを挿入したいオブジェクトは、以前に表示したレコードのIDを保持する目的でセッションオブジェクトをラップするために使用されます。その後、それらが再び表示されないようにするために参照されます。

代替ソリューション

各呼び出しでコンテキストをメソッドに渡すか、手動で注入することもできますが、コンテナから直接注入するとよいでしょう。

質問

コンテナ内にコンテキストを注入する方法が思いつきません。これを行う方法はありますか?これは意味がありますか?

4

1 に答える 1

1
Container.Register(
    Component.For<IRailsEngineContext>()
             .UsingFactoryMethod(()=>MonoRailHttpHandler.CurrentContext)
             .LifeStyle.Transient
);

IRailsEngineContext -古いバージョンの MonoRail のものだと思います。新しいものに移行することをお勧めします。早ければ早いほどよいでしょう。

于 2009-06-16T20:35:24.377 に答える