Asp.net mvc 向Autofac注册HttpContext.User

Asp.net mvc 向Autofac注册HttpContext.User,asp.net-mvc,autofac,Asp.net Mvc,Autofac,我想在Autofac中执行以下操作,但不确定如何执行 这是在StructureMap中执行此操作的方式 ForRequestedType<IPrincipal>() .CacheBy(InstanceScope.Hybrid) .TheDefault.Is.ConstructedBy(ctx => HttpContext.Current.User); ForRequestedType() .CacheBy(InstanceScope.Hybrid) .TheDefau

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

这是在StructureMap中执行此操作的方式

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

对于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集成,您可以使用(更新的链接)

对于ASP.NET MVC 5:

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

文档中有哪些其他信息不在本文中?在MVC 5(可能是4)中,这些信息已更改为
InstancePerRequest()