我有一个问题,看起来与http://markmail.org/message/6rlrzkgyx3pspmnf中描述的问题非常相似,如果您使用不同的服务类型访问它,单例实际上会创建多个实例。
我正在使用最新版本的 Ninject 2 for Compact Framework,我遇到的确切问题是,如果我将相同的提供程序方法绑定到:
Func<Service> serviceCreator = () => new Service(false);
kernel.Bind<IService>().ToMethod(serviceCreator).InSingletonScope();
kernel.Bind<Service>().ToMethod(serviceCreator).InSingletonScope();
如果我同时解析为 IService 和 Service,它似乎正在创建 2 个服务实例。
这在解析 Service 时会导致循环依赖异常。
这是设计使然,还是错误?