我试图在构造函数中设置一个像这样的控制器的属性:
public ApplicationUserManager UserManager { get; private set; }
public AccountController()
{
UserManager = HttpContext.GetOwinContext().Get<ApplicationUserManager>("");
}
但正如这里所解释的那样:
https://stackoverflow.com/a/3432733/1204249
构造函数中没有HttpContext。
那么如何设置属性以便我可以在Controller的每个Actions中访问它?
答案 0 :(得分:3)
您可以将代码移动到控制器上的只读属性(如果您需要在整个应用程序中使用它,则可以将其移动到基本控制器):
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;
}
}