уведомление об инициализации экземпляра autofac - PullRequest
0 голосов
/ 02 октября 2011

Есть ли способ определить, когда Autofac завершил инициализацию экземпляра?Он может вам понадобиться, если у вас есть отложенные зависимости или вы вводите зависимости через свойства.

Возможное решение может выглядеть так:

1 Ответ

1 голос
/ 02 октября 2011

Непосредственно не привязан к компонентам Lazy, но Autofac предоставляет события, позволяющие подключиться к жизни экземпляров. При прослушивании события OnActivation вы сможете выполнять действия сразу после создания экземпляра. E.g.:

builder.RegisterType<OtherComponentImplementation>().As<IOtherComponent>()
    .OnActivated(e => InitializationCompleted(e.Instance));

Обновление : на самом деле, в контексте вашего Component класса вы должны «знать», когда экземпляр инициализируется. Это будет всякий раз, когда вы впервые обращаетесь к свойству Lazy<>.Value.

...