2009-09-18 6 views
7

ティアダウンの一環としてプロパティーインジェクションオブジェクトを処分する方法はありますか?オブジェクトを処分する団体

背景は、ASP.NET MVC 2、UnityおよびWCFを使用するアプリケーションで作業していることです。コントローラをインスタンス化するために1を使用する独自のMVCコントローラファクトリを作成し、コントローラのパブリックプロパティの[Dependency]属性を使用してWCFプロキシを挿入します。ページライフサイクルの終わりに、コントローラファクトリのReleaseControllerメソッドが呼び出され、IUnityContainer.Teardown(theMvcController)が呼び出されます。その時点でコントローラーは期待どおりに処理されますが、注入されたwcf-proxyを処分する必要もあります。 (実際には、CloseやAbortを呼び出す必要がありますが、Disposeではなく、それは後の問題です。)

もちろん、コントローラのDisposeメソッドをオーバーライドしてそこのプロキシをクリーンアップすることはできますが、コントローラーが注入されたインターフェイスのライフサイクルを知る必要があるか、WCFプロキシを参照することさえ必要になります。

私はこのために自分でコードを書く必要がある場合 - 何が最高の拡張ポイントですか?私はどんなポインタにも感謝します。

答えて

0

を参照してください可能な回避策は、あなたも処分(インスタンスを配置するとき、Unityが呼び出される)上のプロキシのCloseメソッドを呼び出しますあなたのプロキシのラッパーを書くことができていることです。それはあなたのための実行可能なシナリオですか?