使用Autofac注册HttpContext.User

时间:2011-03-05 10:15:44

标签: asp.net-mvc autofac

我想在Autofac中执行以下操作,但不确定如何操作?

这是你在StructureMap中的方法

ForRequestedType<IPrincipal>()
  .CacheBy(InstanceScope.Hybrid)
  .TheDefault.Is.ConstructedBy(ctx => HttpContext.Current.User);

1 个答案:

答案 0 :(得分:10)

对于ASP.NET MVC 1和2:

builder.Register(c => HttpContext.Current.User).HttpRequestScoped();

对于ASP.NET MVC 3:

builder.Register(c => HttpContext.Current.User).InstancePerHttpRequest();

对于Autofac ASP.NET MVC3集成,您可以使用look at the documentation(更新后的链接)。

对于ASP.NET MVC 5:

builder.Register(c => HttpContext.Current.User).InstancePerRequest();