我已经看到以下两个示例,用于注入(inject)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对象。

关于asp.net-mvc-3 - MVC3 + Ninject : What is the proper way to inject the User IPrincipal?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7877415/

10-10 21:46