Нет смысла в этом поле public SomeViewModel viewModel;
в вашем контроллере.Действия контроллера независимы, это означает, что если вы сначала вызовете SomeAction
, который устанавливает значение для этого поля, а затем вызовете какое-то другое действие, не ожидайте, что это поле выживет.Таким образом, вы должны просто использовать это:
public class HomeController: Controller
{
public ActionResult SomeAction()
{
var viewModel = populateViewModel();
return View(viewModel);
}
public ActionResult SomeOtherAction()
{
var viewModel = populateViewModel();
return View(viewModel);
}
}
Это говорит о том, что ваш текущий код, похоже, не имеет утечек памяти, потому что после завершения запроса класс Controller будет иметь право на GC, и поэтому все его поля экземпляра, включаямодель вида.