ティアダウンの一部として、Unity にプロパティが注入されたオブジェクトを破棄させる方法はありますか?
背景は、ASP.NET MVC 2、Unity、および WCF を使用するアプリケーションに取り組んでいることです。Unity を使用してコントローラーをインスタンス化する独自の MVC コントローラー ファクトリを作成し、コントローラーのパブリック プロパティの [Dependency] 属性を使用して WCF プロキシを挿入します。ページのライフ サイクルの最後に、コントローラー ファクトリの ReleaseController メソッドが呼び出され、IUnityContainer.Teardown(theMvcController) が呼び出されます。その時点で、コントローラーは期待どおりに破棄されますが、注入された wcf プロキシも破棄する必要があります。(実際には、Dispose ではなく Close や Abort を呼び出す必要がありますが、それは後の問題です。)
もちろん、コントローラーの Dispose メソッドをオーバーライドして、そこにあるプロキシをクリーンアップすることもできますが、コントローラーに、注入されたインターフェイスのライフサイクルや、WCF プロキシを参照していることさえ知らなくて済むようにしたくありません。
このために自分でコードを書く必要がある場合、最適な拡張ポイントは何でしょうか? ポインタをいただければ幸いです。