我正在使用这个Ninject绑定:
kernel.Bind<ICurrentUser>().To<CurrentUser>()
.InRequestScope()
.WithConstructorArgument("principal",
context => (RolePrincipal HttpContext.Current.User);
在服务层的一个装饰器中,我只需将“ICurrentUser currentUser”添加到构造函数中即可获得该对象并使其运行。
这种实现方式有什么不利之处,或者是否有更好的实现环境上下文的方法?对于每个请求,用户对象都会被创建-即使是匿名用户。
ToMethod
方法允许您定义一个(工厂)委托来将依赖项注入到构造函数中。 - Steven