Когда объект в Ninject связан с InTransientScope()
, объект не помещается в кэш, так как он временный и не ограничен ничем.
Когда закончите с объектом, я могу позвонить kernel.Release(obj)
; это проходит к Cache, где он получает кэшированный элемент и вызывает Pipeline.Deactivate
, используя кэшированную запись.
Но поскольку временные объекты не кэшируются, этого не происходит. Я не смог выяснить, где (или кто) выполняет деактивацию для временных объектов. Или предположение, что временные объекты активируются только когда-либо, и что если я хочу деактивируемый объект, мне нужно использовать какую-то другую область видимости?