使用Autofac注册HttpContext.User

6

我想在Autofac中实现以下内容,但不确定如何实现?

以下是在StructureMap中的实现方法。

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

12

对于 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 MVC5:

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

文档中还有哪些额外信息是这篇文章中没有提到的? - JJS
2
在MVC 5(或许是4)中,它已经更改为InstancePerRequest() - Erik Philips

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接