C# 自定义角色提供程序未实现继承的抽象成员
我需要一些在asp.net mvc应用程序中实现自定义角色提供程序的帮助 问题是我遇到了几个错误,比如: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
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();