在我的mvc 4应用程序的后台我正在运行一个执行某些任务的调度程序。 当我想从特定用户获取角色时,函数返回null引用异常。
An unhandled exception of type 'System.NullReferenceException' occurred in System.Web.dll
该函数适用于普通请求,但不在正常的http请求之外。
为什么GetRolesForUser不能在正常请求之外工作(假设这是问题)以及如何解决它?
注意:我使用参数username,用户存在且有角色。
我正在使用DefaultMembershipProvider。
代码:
public static string GetUserRoleByUsername(string username)
{
return System.Web.Security.Roles.GetRolesForUser(username).First();
}
提前致谢!
修改
我已经通过初始化roleProvider修复了它,我不知道为什么我需要初始化它。 任何想法为什么我必须这样做?
var roleProvider = System.Web.Security.Roles.Provider;