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
在线。
此处为 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
在线。