在FindUsersByName上实现模式匹配

本文关键字:模式匹配 实现 FindUsersByName | 更新日期: 2023-09-27 18:17:19

我希望对下面的代码有一些反馈。我如何在角色中实现FindUsersByName的模式匹配,以便不需要对用户名进行精确匹配?

// MembershipProvider.FindUsersByName       
public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords)
{
  MembershipUserCollection users = new MembershipUserCollection();
  try
  {
    Profile.MembershipMapper memberMapper = new MembershipMapper();
    List<Profile.Membership> recs = (List<Profile.Membership>)memberMapper.GetMembershipsByUsername(_memberUtil.GetApplicationId(), usernameToMatch, pageIndex, pageSize, out totalRecords);
    foreach (Profile.Membership rec in recs)
    {
      users.Add(GetUserFromModel(rec, usernameToMatch));
    }
  }
  catch (Exception ex)
  {
    Exception e = CheckEventLog(ex, "FindUsersByName");
    throw e;
  }
  return users;
}

在FindUsersByName上实现模式匹配

如果需要模糊匹配,可以使用正则表达式。让输入以RegEx字符串的形式传递。你还没有很清楚什么应该匹配,什么不应该匹配。