关于.net:抓取用户个人资料中具有特定值的用户

关于.net:抓取用户个人资料中具有特定值的用户

Grabbing Users with a specific value in their profile

我在vb .net应用程序中使用成员身份和角色进行身份验证。在应用程序中,我们大约有5个角色,其中某些角色填写了特定的配置文件值。例如,角色是商店,配置文件值是商店编号。显然,如果您在总部工作,则没有门店号码,所以我不在乎。每个商店也可以拥有1名以上的员工。

我需要让用户获得特定的商店编号。这意味着我只希望属于商店编号101的用户显示该列表。我们现在这样做的方式是遍历所有用户,并将符合条件的用户添加到排序列表中。此功能起作用,但问题是当您开始传递大约3,000个用户时。做任何事情都会变得缓慢。

你们将如何找到一种不同的方式呢?我真的不想做自定义存储过程或更改基础类,因为我担心这会在更高版本的.net上中断,因为它们会更改成员资格和角色。


这确实是您要在SQL中进行过滤的一种东西。 我认为没有任何技巧可以绕过数据的线性扫描并获得所需的结果。

如果无法在SQL中执行此操作,那么也许可以避免创建第二个列表,而仅对主用户数组进行排序,并使显示内容仅显示您关注的列表。 这样至少可以节省内存复制时间。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    Public Shared Function LoadALLUsersInRole(ByVal Code As Integer, ByVal Role As String) As ArrayList
        Dim pb As ProfileBase
        Dim usersArrayList As New ArrayList
        Dim i As Integer
        Dim AllUsersInRole() As String = Roles.GetUsersInRole(Role)

        For i = 0 To AllUsersInRole.Length - 1

            pb = ProfileBase.Create(AllUsersInRole(i), True)

            'Check to see if the current user in the collect belongs to this Store.
            If CType(pb.GetPropertyValue("Store.Code"), Integer) = Code Then                    
                    usersArrayList.Add(AllUsersInRole(i))                  
            End If
            pb = Nothing
        Next

        Return usersArrayList
    End Function

那是我如何做的示例代码。 我不想在SOL方面这样做的原因是,我将非常依赖成员资格和角色不变的事实。


您使用的是内置的.NET角色管理器,我将其保存到SQL Server实例中了吗? 当前正在查看用户对象以评估条件时,用户对象使用什么格式? 如果您发布代码示例,我有个主意...


推荐阅读

    linux命令所有用户?

    linux命令所有用户?,系统,密码,信息,情况,名称,命令,用户,时间,地址,位置,如

    linux命令进入用户?

    linux命令进入用户?,系统,密码,用户,地址,信息,软件,命令,用户名,联系方式,

    linux命令用户管理?

    linux命令用户管理?,系统,密码,管理,工作,信息,地址,工具,命令,用户,基础,LIn

    linux用户与组的命令?

    linux用户与组的命令?,管理,系统,名称,用户组,密码,用户,命令,情况,信息,单

    linux添加用户的命令?

    linux添加用户的命令?,密码,系统,软件,联系方式,用户,新增,信息,管理人员,

    linux看系统用户命令?

    linux看系统用户命令?,系统,信息,密码,命令,服务,名称,网络,情况,软件,工具,L

    linux赋权用户命令?

    linux赋权用户命令?,系统,密码,用户,权限,地址,状态,数字,软件,管理,电脑,Lin

    linux组加用户命令?

    linux组加用户命令?,系统,密码,联系方式,用户,软件,管理,命令,用户名,用户

    linux命令中添加用户?

    linux命令中添加用户?,系统,密码,软件,用户,命令,信息,目录,用户名,账号,文

    linux配置文件夹命令?

    linux配置文件夹命令?,地址,系统,工作,信息,命令,标准,服务,名称,位置,文件,l

    linux命令更改用户?

    linux命令更改用户?,系统,密码,管理,用户,命令,环境,工作,地址,电脑,文件,lin

    linux修改用户名命令?

    linux修改用户名命令?,系统,密码,查询系统,代码,数字,用户名,命令,第三,电

    linux命令给用户授权?

    linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,l

    linux命令创建用户组?

    linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管

    linux命令给用户授权?

    linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,l

    linux命令创建用户组?

    linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管

    查看linux用户命令行?

    查看linux用户命令行?,信息,系统,时间,名称,密码,用户,命令,地址,状态,设备,L

    linux所有用户命令行?

    linux所有用户命令行?,系统,信息,地址,工作,密码,命令,用户,时间,电脑,管理,L

    linux用户下的命令是?

    linux用户下的命令是?,系统,工作,管理,地址,命令,密码,基础,信息,目录,新增,L