2014-06-21 101 views
2

我試圖設置在構造函數的性質使用的HttpContext自動對焦像這樣的控制器:中的控制器構造

public ApplicationUserManager UserManager { get; private set; } 
public AccountController() 
    { 
     UserManager = HttpContext.GetOwinContext().Get<ApplicationUserManager>(""); 
    } 

但由於這裏說明:

https://stackoverflow.com/a/3432733/1204249

的HttpContext不可用在構造函數中。

所以,我怎麼能設置的屬性,這樣我可以在控制器的每一個操作的訪問呢?

回答

2

您可以將代碼轉移到一個只讀屬性控制器上(或基本控制器如果你需要它提供整個應用程序):

public class AccountController : Controller { 
    private ApplicationUserManager userManager; 

    public ApplicationUserManager UserManager { 
     if (userManager == null) { 
      //Only instantiate the object once per request 
      userManager = HttpContext.GetOwinContext().Get<ApplicationUserManager>(""); 
     } 

     return userManager; 
    } 
}