0


0

WebファームでのWindsorコンテナの使用

ASP.NET MVCを使用してWebアプリケーションを開発し、Winsor CastleをIoCコンテナーとして使用しています( + WindsorControllerFactory +`と内部コンポーネントの両方)。 現在、次のようにコンテナを作成して `+ Application ++ HttpApplicationState +)に格納しています。

    protected void Application_Start()
    {
        ...
        IWindsorContainer windsorContainer = new WindsorContainer();
        Application["WindsorContainer"] = windsorContainer;
        ...
    }

    protected void Application_End()
    {
        IWindsorContainer container = (IWindsorContainer)Application["WindsorContainer"];
        container.Dispose();

        Application["WindsorContainer"] = null;
    }

これは、Webファーム上で実行されるアプリケーションにとって適切なアプローチですか? 知っておく必要がある問題はありますか? コンテナを置くためのより良い場所はありますか?

`+ Application `状態はWebファームのサーバー間で共有されないことは知っていますが、 ` Application +`状態で保存されたデータがリクエスト固有でない限り、これは問題になりませんか?

1 Answer


0


私はAyendeの static gatewayにコンテナを保存するのが好き/Rhino.Commons/RhinoContainer/IoC.cs [Rhino CommonsからのIoC]