Я профилирую приложение, которое использует Ninject для DI. Со временем я вижу много экземпляров класса BindingBuilder, который используется для определения объектов, определенных в контейнере.
Привязка Ninject «ToMethod» используется для определения всех объектов в контейнере. Контекст, доступный в lamba для доступа к ядру, затем используется для извлечения других объектов из контейнера. Пример:
Bind<IService>()
.ToMethod(ctx => new CustomService(
ctx.Kernel.GetDefault<IOtherService>(),
ctx.Kernel.GetDefault<IAnotherService>()
))
.InSingletonScope();
Это нормальное поведение, когда BindingBuilders увеличивается со временем или эти ссылки существуют только один раз?