Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 错误:密钥不能为空。参数名称:key_Asp.net Mvc_Asp.net Mvc 3_Web Config - Fatal编程技术网

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谢谢你的时间。问题解决了,我已经更新了我的问题。把你的更新作为答案。