Когда Переходным объемом является объект, Деактивированный в Ninject?

Когда объект в Ninject связывается с InTransientScope(), объект не помещается в кэш, так как это, er, переходный процесс и не ограничено по объему к чему-либо.

При выполнении с объектом я могу звонить kernel.Release(obj); это передает до Кэша, где он получает кэшируемый элемент и вызовы Pipeline.Deactivate использование кэшируемой записи.

Но так как временные объекты не кэшируются, этого не происходит. Я не смог выяснить, где (или кто) выполняет деактивацию для временных объектов. Или предположение то, что временные объекты только когда-либо активируются, и что, если я хочу deactivateable объект, я должен использовать некоторый другой объем?

7
задан nwahmaet 12 March 2010 в 18:44
поделиться

1 ответ

Ваши предположения верны. Временные объекты не отслеживаются в Ninject и не контролируются в конвейере деактивации. Вы несете ответственность за очистку временных экземпляров. Если вы хотите, чтобы ядро ​​управляло вашими экземплярами, вам нужно использовать встроенную или настраиваемую область видимости.

8
ответ дан 7 December 2019 в 05:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: