システムにログインできる従業員のリストをビジネスに表示する必要があるシステムがあります。したがって、ID で MembershipUsers のリストを取得する必要があります。それは可能ですか?私が見るのはメンバーシップの GetAllUsers() メソッドだけですが、それが機能するとは本当に思いません。各ビジネスには独自の従業員リストがあるため、何千ものユーザーが存在しますが、毎回必要なのはそのほんの一部 (おそらくビジネスごとに約 40) だけです。特定のサブセットを再度照会するためだけに何千もの行を戻すのは、処理の無駄のようです。ただし、ループしてそれぞれを個別に取得するには、最大で 8 秒かかります。私の現在のコードは以下の通りです:
foreach (int userAccountID in ListOfEmployeeIDs)
{
MembershipUser membershipUser = Membership.GetUser(userAccountId);
if (membershipUser != null)
{
dto.Username = membershipUser.UserName;
dto.Email = membershipUser.Email;
dto.Password = membershipUser.GetPassword();
}
//Include User's Roles
dto.Roles = Roles.GetRolesForUser(dto.Username);
}
必要なすべてのユーザーを一気に取得できるものはありますか (ロールも必要です)。明らかな何かが欠けていますか?Membership クラスに含めるのは論理的な方法のように思えます。
必要なすべての特定のユーザーを一度に取得する方法が絶対にない場合、誰かがそれらをすばやく取得する方法を教えてもらえますか? 私のループは、ユーザーを取得するのに時間がかかるように何か間違ったことをしていますか?
ありがとう!