我无法在ninject中正确配置范围。
我想在调用方法时创建一个新的作用域。每种类型的所有实例都应该相同。
现在我有以下内容:
拦截器:
private class CreateScopeInterceptor : IInterceptor
{
public void Intercept(IInvocation invocation)
{
using (var scope = invocation.Request.Kernel.CreateNamedScope(ScopeName))
{
invocation.Proceed();
}
}
}
kernel.Bind<ClassWithExecuteMethod>()
.To<ClassWithExecuteMethod>()
.InSingletonScope()
.Intercept()
.With<CreateScopeInterceptor>();
然后我有一些工厂类,它们会在该方法内初始化一些类。 这些类与.InNamedScope(ScopeName)绑定 每次调用此方法时,这些类应在该方法中具有相同的实例。
但是我收到一个错误,指出该范围不存在或找不到。 知道我在做什么错吗? 没有可用的匹配范围,并且类型声明为InNamedScope(ScopeName)。