我想在Autofac中执行以下操作,但不确定如何操作?
这是你在StructureMap中的方法
ForRequestedType<IPrincipal>()
.CacheBy(InstanceScope.Hybrid)
.TheDefault.Is.ConstructedBy(ctx => HttpContext.Current.User);
答案 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();