我重写了我的ASP.NET MVC2控制器中的Controller.Dispose(bool)
方法,以便根据需要处理事物,同时让它们尽可能长时间处于活动状态。这与在从Controller的操作方法返回之前处置它们相反。
我的问题,简而言之;这有效吗?
从我目前所看到的情况来看,这似乎正是我所需要的;所有IDisposable
个对象都被处理掉(Controller.Dispose()
方法调用虚拟Controller.Dispose(bool)
),但直到不再需要它们为止。
编辑#2:
我很欣赏有关我应该做的事情的建议。我的意思是;事实上,我刚刚投了这么一个答案。
出于这个问题的目的,让我们假设我已经评估了自己的需求,并决定在我的视图中调用偶尔的相关实体属性最适合 me ,并且我已经决定我不需要依赖注入框架只是为了确保我的对象被正确处理。
我现在真正需要知道的是,如果有人知道在覆盖的Controller.Dispose(bool)
方法中处理这些对象的生命周期相关问题。
答案 0 :(得分:5)
了解控制和依赖注入的反转。那里的框架(Structure Map,Ninject,Autofac,Unity等)将根据您分配给该对象的范围为您处理对象(例如:每个请求范围将在请求结束时处置对象)
答案 1 :(得分:4)
+1并感谢您提出这个问题。根据我自己的经验,我无法给出答案,但我确实发现Stephen Walter的this post描述了你的情况(我相信),comment @Craig Stuntz建议你描述的模式相同。听起来你在这里很好:)