1
我一直在試圖讓自定義角色提供者爲我的WCF服務工作。他們被託管在IIS 7中,但無論我做什麼,我似乎都無法讓他們實際工作。我剛剛獲得默認角色提供程序找不到。錯誤。我的web.config如下所示:獲取WCF加載自定義角色提供者時出錯
<system.web>
<compilation debug="false" targetFramework="4.0" />
<roleManager enabled="true" defaultProvider="CustomValidators.WaveRoleProvider, CustomValidators">
<providers>
<clear/>
<add name="test" type="CustomValidators.WaveRoleProvider, CustomValidators"/>
</providers>
</roleManager>
</system.web>
提供RoleProvider的實際函數如下。
namespace CustomValidators
{
public class WaveRoleProvider : RoleProvider
{
public override string[] GetRolesForUser(string username)
{
return string[0];
}
public override bool IsUserInRole(string username, string roleName)
{
return true;
}
public override void AddUsersToRoles(string[] usernames, string[] roleNames)
{
return;
}
public override string ApplicationName
{
get
{
return "test";
}
set
{
}
}
public override void CreateRole(string roleName)
{
return;
}
public override bool DeleteRole(string roleName, bool throwOnPopulatedRole)
{
return true;
}
public override string[] FindUsersInRole(string roleName, string usernameToMatch)
{
return new string[0];
}
public override string[] GetAllRoles()
{
return new string[0];
}
public override string[] GetUsersInRole(string roleName)
{
return new string[0];
}
public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)
{
return;
}
public override bool RoleExists(string roleName)
{
return true;
}
}
}
很顯然,我最終會填補所有的出實際的邏輯,而不是僅僅返回虛擬數據,但至少應該負荷。
我已經檢查和IIS確實加載程序集像它應該,如果我重命名類或程序集它會生成一個不同的錯誤,所以我非常確定,一切都加載,因爲它應該,但沒有重要的是我嘗試了我總是得到默認角色提供程序無法找到。我一直在使用谷歌搜索,並檢查堆棧溢出,但我似乎無法找出原因。我意識到,現在我的班級是非常基本的,但