我看到了下面两个注入User IPrincipal的例子:
方法1:kernel.Bind<IPrincipal>()
.ToMethod(context => context.Kernel.Get<RequestContext>().HttpContext.User)
.InRequestScope();
方法2:kernel.Bind<IPrincipal>()
.ToMethod(context => HttpContext.Current.User)
.InRequestScope();
两者有什么区别吗?哪一个更受欢迎?
两种方法完全相同。两者都将返回当前HTTP请求的HttpContext对象。