Вызывает ли контроллер Dispose для своих полей и свойств?

Если в контроллере затребовать через конструктор EF-контекст и положить его в поле, то при завершении запроса, на этом контексте вызовется Dispose?


Ответы (1 шт):

Автор решения: Pavel Mayorov

Есть такое правило - утилизировать объект должен создатель объекта, если особо не оговорено другое.

В частности, когда вы запрашиваете зависимость через параметр конструктора, утилизация зависимости является ответственностью передавшего её. И все достаточно продвинутые системы внедрения зависимостей это правило поддерживают. Однако, для надёжности надо смотреть документацию на конкретную систему внедрения зависимостей.

В частности, используемый вами ASP.NET MVC... вообще не поддерживает внедрение зависимостей через конструктор.

→ Ссылка