Привязка типов и управление созданием компонентов. - Sellec/OnWeb GitHub Wiki
Ядро приложения OnWeb.ApplicationCore выполняет роль аналога IServiceProvider в NetCore, предоставляет возможность получения экземпляров объектов привязанных типов и обслуживает цикл жизни создаваемых экземпляров.
При запуске ядра выполняется сбор привязок типов двух видов - singleton и transient (типы, для которых возможно существование только одного экземпляра объекта в ядре и типы, количество экземпляров объектов которых не ограничено).
Привязка типов осуществляется при помощи интерфейса OnWeb.IConfigureBindings.
using OnUtils.Architecture.AppCore;
using OnUtils.Architecture.AppCore.DI;
namespace OnWeb.Plugins.CoreModule
{
class Startup : IConfigureBindings
{
void IConfigureBindings<ApplicationCore>.ConfigureBindings(IBindingsCollection<ApplicationCore> bindingsCollection)
{
bindingsCollection.RegisterBindingConstraintHandler(new BindingConstraint());
bindingsCollection.SetSingleton<Module>();
}
}
}