HttpContext 需要对象引用

Object reference is required for HttpContext

此处为 C# 初学者。

我正在尝试 return 仅与当前用户在同一设施中的用户数量(除非该用户是经理)。

我在第 2 行和第 3 行的 HttpContext.User 下看到一条红线,上面写着

An object reference is required for the non-static field, method, or property 'HttpContext.User'

我已经尝试研究这个和 none 这些解决方案,例如使方法静态化或通过 System.Web.HttpContext.User 调用它对我有用。

private int GetUsersforFacility(ICollection<ApplicationUserRole> Users)
{
     int userFacilityID = (int)HttpContext.User.GetFacilityId();
     bool manager = HttpContext.User.IsManager();

     if (!manager)
     {
          return Users.Where(user => user.FacilityID == userFacilityID).Count; 
     }

     return Users.Count;
}

如有任何建议,我们将不胜感激。

控制器内部的

HttpContext 是 属性 继承自 ControllerBase 的,如果你在控制器外部使用它 HttpContext 只是一个 class 所以只是静态的可以访问它的成员。

为了访问它,您必须通过或注入 HttpContext 在线。