【发布时间】:2024-05-23 20:10:02
【问题描述】:
我看过下面两个注入 User IPrincipal 的例子:
方法一:
kernel.Bind<IPrincipal>()
.ToMethod(context => context.Kernel.Get<RequestContext>().HttpContext.User)
.InRequestScope();
方法二:
kernel.Bind<IPrincipal>()
.ToMethod(context => HttpContext.Current.User)
.InRequestScope();
两者有区别吗?是首选吗?
【问题讨论】:
-
如何使用 Autofac 完成上述操作?
-
你需要使用 Ninject.Web.Common 作为
InRequestScope扩展方法 -
当我尝试执行这些方法时,方法 1 抛出空异常,方法 2 给我一个空的 IPrincipal,知道为什么它不能正常工作吗?
标签: asp.net-mvc-3 dependency-injection ninject iprincipal