2012-02-16 13 views
0

OpenRastaの依存インジェクタに、作成されたオブジェクトのインスタンスを破棄するメカニズムがありますか?従属ライフタイムにかかわらず。OpenRasta Dependency Injection TearDown

私はソースを見てみることを試みましたが、ただちに涙を見つけることはできませんでした。 IDisposableを実装することもやっていないようです。

更新私は主にシングルトンを探していましたので、私はopenrasta-coreプロジェクトのチケットを開封しません。現時点では、私自身のライブラリ(現在はOpenRastaのシングルトンに直接アクセスする方法を知らない)でシングルトンのインスタンスを追跡し、アプリケーション終了時にアクセスします。

答えて

2

処分は、適切に実施するための痛みの完全な袋です。要求ごとのオブジェクトには既知のオブジェクトの存続期間があります(OR DIインタフェースを実装するコンテナには、そのスコープをいつ処理するかを知るためのフックがあります)、ホストのシャットダウン時には静的(2.1.1以降)ほぼasp.netのためのものではなく、あなたが自己ホスト型サーバー/ memホスティングを閉じるときはいつでも)、一時的なものはありません。追跡しないと何かを処分しなければならない時をどうやって知っていますか?それが解放されないということを意味するなら、それはすべて非常に問題です。

内部DIコンテナは何も処理しませんが、コンテナの廃棄と要求のシャットダウン時に要求ごとにシングルトンの処理を追加することはできますが、それは非常に便利だと思います。 openrasta-coreプロジェクトにgithubチケットを自由に追加してください。

または、既存のIoCコンテナを既存のIoCコンテナの代わりに使用します。また、外部のコンテナを使用することなく、クリーンアップを行うためにカスタムコントリビュータを追加した人もいます。

セブ

+0

これは明確な答えです。ありがとうございます。シングルトンの処分はうまくいくと思いますが、私はチケットを追加する前にエレガントな回避策を探します。シングルトンに直接アクセスする方法はありますか? –

関連する問題