【发布时间】:2012-03-22 12:18:14
【问题描述】:
我有抽象的 BaseController,基本上如下所示:
public abstract class BaseController : Controller
{
public IDisposable Resource { get; protected set; }
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
if(Resource != null)
{
Resource.Dispose();
}
var baseController = filterContext.Controller as BaseController;
if (baseController != null && baseController.Resource != null)
{
baseController.Resource.Dispose();
}
}
}
在 OnActionExecuted 事件中,我想处置 Resource 对象。对 Resource 执行 Dispose 就足够了吗?我是否还必须从 filterContext 检查控制器中的资源?
在我的调试器中,这是同一个对象,但它总是同一个吗?它是干什么用的?
【问题讨论】: