Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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
C# 自定义角色提供程序未实现继承的抽象成员_C#_Asp.net_Asp.net Mvc_Roleprovider - Fatal编程技术网

C# 自定义角色提供程序未实现继承的抽象成员

C# 自定义角色提供程序未实现继承的抽象成员,c#,asp.net,asp.net-mvc,roleprovider,C#,Asp.net,Asp.net Mvc,Roleprovider,我需要一些在asp.net mvc应用程序中实现自定义角色提供程序的帮助 问题是我遇到了几个错误,比如: MyRoleProvider does not implement inherited abstract member 'System.Web.Security.RoleProvider.RoleExists(string) 对于其他方法,我得到了相同的错误。但是,我确实有这些的实现 My web.config具有以下功能: <roleManager enabled="true" d

我需要一些在asp.net mvc应用程序中实现自定义角色提供程序的帮助

问题是我遇到了几个错误,比如:

MyRoleProvider does not implement inherited abstract member 'System.Web.Security.RoleProvider.RoleExists(string)
对于其他方法,我得到了相同的错误。但是,我确实有这些的实现

My web.config具有以下功能:

<roleManager enabled="true" defaultProvider="MyCustomProvider">
  <providers>
     <add name="MyCustomProvider" type="MyRoleProvider" />
  </providers>
</roleManager>
我做错了什么?
(我对此非常陌生)。

您在
RoleExists
方法中抛出了一个
NotImplementedException
。将其临时更改为
返回true一切正常。

当您创建自定义提供程序时,特别是在Visual studio下,Intellisense将使用以下内容填充覆盖成员的内容:

throw new NotImplementedException();
您可能知道,当从抽象类(如
RoleProvider
类)继承时,必须实现该类的所有抽象成员。VisualStudio选择在重写成员时,默认情况下填充上述代码。保持原样将允许您的项目自实现以来进行构建,但在运行时您将获得异常,因为.net framework将调用引发异常的某些方法


您需要做的是删除throw语句并实现该方法或属性的逻辑。因此,对于
IsUserInRole
方法,您将检查正在使用的任何用户存储(SQL数据库、XML文件等),如果用户处于角色,则返回true,否则返回false。

感谢您的回答。到目前为止,我所拥有的并没有什么问题,但我错过了一些成员的实际实现。
throw new NotImplementedException();