Asp.net mvc 错误:密钥不能为空。参数名称:key
已解决:方法Asp.net mvc 错误:密钥不能为空。参数名称:key,asp.net-mvc,asp.net-mvc-3,web-config,Asp.net Mvc,Asp.net Mvc 3,Web Config,已解决:方法公共重写字符串[]GetRolesForUser(字符串用户名)错误地返回null作为数组的第一项。现在一切正常 我正在尝试为我的应用程序实现自定义角色和成员资格提供程序,但在角色提供程序方面运气不佳。在我的控制器的一种方法中,如果我有[Authorize]指令,它可以正常工作,但是当我想通过添加[Authorize(Roles=“Admin”)]来进行基于角色的授权时,它会给出一个错误,说“Key不能为null”。参数名称:key' 我认为web.config文件中的实体有问题,但
公共重写字符串[]GetRolesForUser(字符串用户名)
错误地返回null作为数组的第一项。现在一切正常
我正在尝试为我的应用程序实现自定义角色和成员资格提供程序,但在角色提供程序方面运气不佳。在我的控制器的一种方法中,如果我有[Authorize]
指令,它可以正常工作,但是当我想通过添加[Authorize(Roles=“Admin”)]
来进行基于角色的授权时,它会给出一个错误,说“Key不能为null”。参数名称:key'
我认为web.config文件中的实体有问题,但找不到它是什么。web.config文件中修改的条目如下所示
<membership defaultProvider="CustomMembershipProvider">
<providers>
<clear />
<add name="CustomMembershipProvider" type="eLibrary.Models.CustomMembershipProvider" connectionStringName="AppDb" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<roleManager defaultProvider="CustomRoleProvider" enabled="true" cacheRolesInCookie="true" >
<providers>
<clear/>
<add name="CustomRoleProvider" type="eLibrary.Models.CustomRoleProvider" />
</providers>
</roleManager>
如果有人能打开一些指示灯,那就太好了。解决了。方法public override string[]GetRolesForUser(string username)错误地将null作为数组的第一项返回。现在一切都好了。你能发布堆栈跟踪吗?@Eranga谢谢你的时间。问题解决了,我已经更新了我的问题。把你的更新作为答案。