2011-03-05 7 views
3

Je voudrais faire ce qui suit dans Autofac, mais je ne sais pas comment?Enregistrer HttpContext.User avec Autofac

Voici comment vous le faites dans StructureMap

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

Répondre

10

Pour ASP.NET MVC 1 et 2:

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

Pour ASP.NET MVC 3:

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

Pour Autofac ASP.NET MVC3 intégration, vous pouvez prendre un look at the documentation (lien mis à jour).

Pour ASP.NET MVC 5:

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

quelles informations supplémentaires dans la documentation qui ne sont pas dans ce poste? – JJS

+1

Ce qui a changé pour 'InstancePerRequest()' dans MVC 5 (peut-être 4). –