У меня есть проблема, которая кажется очень похожей на проблему, описанную в http://markmail.org/message/6rlrzkgyx3pspmnf, которая касается единственного фактического создания более одного экземпляра, если вы обращаетесь к нему с использованием разных типов служб.
Я использую последнюю версию Ninject 2 для Compact Framework, и точная проблема, с которой я сталкиваюсь, заключается в том, что если я привяжу тот же метод провайдера к:
Func<Service> serviceCreator = () => new Service(false);
kernel.Bind<IService>().ToMethod(serviceCreator).InSingletonScope();
kernel.Bind<Service>().ToMethod(serviceCreator).InSingletonScope();
Создается впечатление, что создается 2 экземпляра Сервиса, если я разрешу и IService, и Сервис.
Это вызывает исключение циклической зависимости при разрешении службы.
Это по замыслу или это ошибка?