У меня есть абстрактный 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.Достаточно ли выполнить Dispose на Resource?Должен ли я также проверить наличие ресурсов в контроллере от filterContext?
В моем случае в отладчике это один и тот же объект, но всегда ли он один и тот же?Для чего он используется?