2015-08-18 7 views
0

Я пытаюсь использовать Autofac и архитектуру, описанную в статье this. С Ninject я использовал, чтобы иметь возможность использовать следующее retireve текущего пользователя с помощью Ninject:Ввод текущего пользователя с использованием Autofac и ASP.Net MVC

kernel.Bind<ApplicationUser>().ToMethod(c => (System.Web.HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>()).FindById(System.Web.HttpContext.Current.User.Identity.GetUserId<int>())); 

Используя выше, можно затем легко получить доступ к вошедшего в систему пользователя в обоих контроллерах и репозиториев например :

private readonly ApplicationUser _user; 
public ProductsController(ApplicationUser user) 
{ 
    _user = user; 
} 

private readonly ApplicationUser _user; 
public SectorRepository(ApplicationUser user) 
{ 
    _user = user; 
} 

Я экспериментировал с Autofac и до сих пор не удалось достичь тех же результатов

Как бы я быть в состоянии сделать то же самое или подобное, используя Autofac?

ответ

2

Попробуйте это:

protected override void Load(ContainerBuilder builder) 
{ 
     builder.Register(
       c => (HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>()) 
        .FindById(HttpContext.Current.User.Identity.GetUserId())).As<ApplicationUser>(); 
} 
Смежные вопросы