MVC3 + Ninject:注入User IPrincipal的正确方法是什么?

时间:2011-10-24 14:43:49

标签: asp.net-mvc-3 dependency-injection ninject iprincipal

我已经看到了以下两个用于注入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();

两者有什么不同吗?是首选吗?

1 个答案:

答案 0 :(得分:5)

这两种方法完全相同。两者都将返回当前HTTP请求的HttpContext对象。