По умолчанию Autofac будет хранить любые одноразовые материалы, которые он разрешает, до конца срока службы.Если LifeTimeScope никогда или редко завершается, это приведет к утечкам памяти.
Это значение по умолчанию не работает для нас - мы бы предпочли, чтобы всякий раз, когда мы решаем одноразовое использование, которое является экземпляром для зависимости, мы контролируемутилизации, и Autofac не держится за экземпляр.Однако, если одноразовым является InstancePerLifeTimeScope
или SingleInstance
, мы хотим, чтобы Autofac держал его и утилизировал.
В настоящее время это означает, что мы должны звонить ExternallyOwned
при каждой регистрации.
Есть ли способ изменить поведение по умолчанию для Autofacs или иным образом исправить патч для сборщика или контейнера, чтобы сделать все регистрации внешне принадлежащими программно?