OpenRasta Съёмка зависимостей - PullRequest
0 голосов
/ 17 февраля 2012

Есть ли механизм в инжекторе зависимостей в OpenRasta, который разрушает экземпляр созданного объекта?Независимо от времени жизни зависимости.

Я пытался просмотреть источник, но не смог найти какой-либо разрыв.Не похоже, что реализация IDisposable делает свое дело.

Обновление Я в основном искал избавление от синглтона, поэтому я не буду открывать тикет в проекте openrasta-core.На данный момент я отслеживаю экземпляр синглтона в моей собственной библиотеке (в настоящее время не знаю, как напрямую обращаться к синглетам в OpenRasta), чтобы получить доступ при закрытии приложения.

1 Ответ

2 голосов
/ 17 февраля 2012

Утилизация - это целая сумка боли для правильного осуществления. Объекты по запросу имеют известное время жизни объекта (контейнеры, которые реализуют интерфейс OR DI, имеют ловушку, чтобы знать, когда располагать эту область), статика (начиная с 2.1.1) будет удалена контейнером при завершении работы хоста (что означает почти никогда не для asp.net, и всякий раз, когда вы закрываете собственный сервер / в хостинге mem), и переходные процессы, мы понятия не имеем, как это сделать: как вы узнаете, когда что-то нужно утилизировать, если вы не отслеживаете об этом, что, если вы делаете, означает, что это не выпущено, это все очень проблематично.

Таким образом, внутренний DI-контейнер вообще ничего не удаляет, хотя мы можем добавить размещение синглетонов при утилизации контейнера и при закрытии запроса по запросу, я полагаю, это было бы весьма полезно. Не стесняйтесь добавлять билет GitHub в проекте openrasta-core.

В качестве альтернативы, используйте существующий контейнер IoC вместо существующего. Некоторые люди также добавили собственных участников, чтобы выполнить очистку самостоятельно, не используя внешний контейнер.

Себ

...