Экземпляр, созданный с помощью ninject, автоматически удаляется в конце? - PullRequest
1 голос
/ 05 декабря 2011

Экземпляр, созданный с помощью ninject, автоматически удаляется в конце?

Причина Я использую Entity Framework и привязываю IContext к экземпляру нового контекста.Будет ли этот контекст утилизирован в конце?

Если нет, как я могу утилизировать его?

1 Ответ

0 голосов
/ 05 декабря 2011

Конец

чего?

Стандартным механизмом в Ninject является механизм Cache and Collect , который недетерминирован Dispose s, когда сборщик мусора решает освободить родительские объекты области действия со слабой ссылкой .

Если вы находитесь в приложении ASP.NET (или в конвейере WCF с подключенным HttpContext), .InRequestScope будет детерминистически Dispose в конце запроса.

Реальный ответ на ваш вопрос заключается в том, что это дубликат 50 других контейнеров EF / DI. Удалите вопросы здесь - я предлагаю вам приложить немного больше усилий, чтобы найти их и, возможно, в следующий раз дать больше контекста.

Будьте осторожны, вкладывая слишком много в одну единицу работы и позволяя системе позаботиться о ней - большую часть времени вы хотите знать, что такое ваша единица транзакции, и не рассматривать такие вещи, как фиксация и управление ошибками вокруг этого, мелочь.

...