2010-05-10 95 views
1

我试图使用this article了解定制roleproviders,但我得到这个错误:ASP.NET自定义RoleProvider错误

未能加载类型“TestRoles.SimpleRoleProvider”。

相关的部分从我的web.config:

<roleManager enabled="true" defaultProvider="SimpleRoleProvider"> 
     <providers> 
      <add name="SimpleRoleProvider" type="TestRoles.SimpleRoleProvider"/> 
     </providers> 
    </roleManager> 

的RolesProvider.cs类:

public class TestRoles{ 
public class SimpleRoleProvider : RoleProvider 
{ 
    public override string[] GetRolesForUser(string username) 
    { 
     List<string> roles = new List<string>(); 
     roles.Add("Guest"); 
     if (username.Equals("Dave")) 
      roles.Add("Admin"); 
     return roles.ToArray(); 
    } 
} 
} 

从这个错误,现在看来似乎找不到RoleProvider。有任何想法吗?

回答

1

那么在我看来,你的命名空间是错误的:

TestRoles.SimpleRoleProvider

你的空间必须我TestRoles和你的类名SimpleRoleProvider

更改类TestRoles到命名空间,并确保你没有任何其他的命名空间在TestRoles之上,比如xy.TestRoles.SimpleRoleProvider

+0

哦,男孩,就是这样。我不知道我花了多长时间盯着那些代码,甚至没有意识到我已经键入'class'而不是'namespace'。谢谢! – Ethan 2010-05-10 20:08:05

+0

我很高兴我可以帮你......狗屎碰巧 – MUG4N 2010-05-10 20:10:33