I tracked a bunch of page timeouts through the error log this morning. I believe the error occurs when people use the Forgotten User feature, which is the Spohn Forgotten User module.
Looking at the code, I was surprised to see that, instead of taking the user email and filtering for users with that email, it uses objUsers.GetUsers, then loops through eac user, compares the email, and calls a function for that user. For 10000 + users, that could explain a timeout.
I'm modifying it to get a shortlist of users with that email via an SP, and then loop through that set, but would like to know - is there anything I'm missing - any good reason this module SHOULD be looping through every user?
Thanks,
''Dim objUsers As New UserController
'Dim UserArray As ArrayList = objUsers.GetUsers(PortalId, True, True)
''For Each objUser As UserInfo In UserArray
'For Each objUser As Entities.Users.UserInfo In UserArray
' Dim objMem As Entities.Users.UserMembership = objUser.Membership
' If LCase(objMem.Email) = LCase(txtEmail.Text) Then
' If ShouldUserBeSent(objUser, SendAdmins) = True Then
' If NumberofEmailsSent = 0 Then
' UserNames = "" & objMem.Username
... ect.