6
我想明確地「釋放」由Unity解決的對象實例。我希望的刪除方法應該正好用於此所以我想是這樣的:UnityContainer.Teardown方法應該做什麼?
container.RegisterType(typeof(IMyType), typeof(MyType),
new MyLifetimeManager());
var obj = container.Resolve<IMyType>();
...
container.Teardown(obj);
MyLifetimeManager
專賣店在HttpContext.Current.Items
對象實例。我預計Teardown
方法將在生命期管理器上調用RemoveValue
並釋放MyType實例和生命期管理器實例。它不起作用。首先RemoveValue
不叫,如果我再次撥打Resolve<IMyType>
我會得到以前解決實例。
Teardown
方法應該做什麼?儘管有他的一生經理,我怎樣才能釋放對象?
編輯:
如果Teardown
不釋放的情況下,誰做?誰在終身管理者電話RemoveValue
?
看模糊的「清除它」在MSDN評論,我假設TearDown中返回原始的對象,就好像它是新創建的。 – Massif 2011-02-08 13:22:09
(雖然通過Unity來源看,不能看的拆解做任何事情都很多實現......但是,沒有時間去檢查他們。) – Massif 2011-02-08 13:28:01