0

我有一个测试方法来测试用户是否被添加到角色中。但是我将用户添加到该角色不起作用。有人可以解释我做错了什么吗?

 public override void AddUsersToRoles(string[] usernames, string[] roleNames)
    {
        try
        {
            Profile.MembershipMapper memberMapper = new Profile.MembershipMapper();
            memberMapper.AddUsersToRoles(_memberUtil.GetApplicationId(), usernames, roleNames);
        }
        catch (Exception ex)
        {
            throw new ProviderException("AddUsersToRoles", ex);
        }
    }

            string sRoleName = "TestRole";
            string sUsername = "test.user";//"testUserX"

            // Use a known user for relationships
            AsaMembershipProvider prov = this.GetMembershipProvider();
            MembershipUser user = prov.GetUser(sUsername, false);

            // Create a new role
            AsaRoleProvider roleProv = this.GetRoleProvider();
            roleProv.CreateRole(sRoleName);

            // Verify that role exists
            bool bRoleExists = roleProv.RoleExists(sRoleName);
            Assert.IsTrue(bRoleExists);

            // Add users to that role
            string[] usernames = new string[] { sUsername};
            string[] roleNames = new string[] { sRoleName };

            //Doesnt add user
            roleProv.AddUsersToRoles(usernames, roleNames);
4

1 回答 1

1

您的代码不会按原样编译。

roleProv.AddUsersToRoles(usernames, roleNames);eNames); //syntax error probably

假设AddUsersToRoles有 3 个参数,试试这个:

roleProv.AddUsersToRoles(usernames, roleNames, eNames);

我没有在您的代码中看到eNames定义的位置,但我也假设您在这里只有一个基本的语法问题。

注意你的 IDE。它可能会告诉您问题所在。

此外,如果您只是在此处复制代码时搞砸了,我们无法说明为什么AddUsersToRoles无法正常运行,因为您没有包含该代码。

将来,包括相关代码。说“它不起作用”并没有告诉我们您的问题。编译错误?运行时异常?意外行为?

于 2013-05-23T17:29:38.837 回答