2010-05-10 114 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