Solved! Go to Solution.
Our wait times are still approximately 10 minutes. One of our IT staff recently mentioned that he thought it could be a problem with the header of the email - it may be flagged as a non-internal email and sent through all the external filters, which could be delaying it. If you find any answers please forward them on.
I just realized this is on the wrong subforum (I got here by google). Can the OP move this to the Autodesk Vault discussion group?
The delay is deliberate. You can change the delay by editing web.config in your server\web\services folder under ADMS install folder. Just make sure to back up the original file before making changes.
Inside web.config, find the part that says <add key="EcoNotificationProcessingDelay" value="0:10:0"/> and change the value. For example, "0:1:0" will reduce the delay to 1 minute.
There are a couple of reasons for the delay. First, emails take a long time to do, so a background process takes care of that task. That way normal server operations, like check in, are not slowed down. Second, having a delay allows notifications to be batched together.
I log in briefly as an administrator and get all users and their data. Embedded there is the email addresses that are available for all authenticated users. Hope that helps.
Can you paste your sample code on how to extract email address and user names (Pseudo code), is it possible to fetch group names as well.
Because of the overhead involved with this operation I am doing it once at program launch and storing the data to be used after I switch login back to the user. To store the data, I created a class called userdata that would store all the data that I intended on using, but even that should be unnecesary.
~Login as admin user my_admnmngr
User allusers = my_admnmngr.AdminService.GetAllUsers();
foreach (User my_user in allusers)
string my_displayname = my_user.LastName + ", " + my_user.FirstName;
userdata my_data = new userdata(my_user.FirstName, my_user.LastName, my_user.Name, my_user.Id, my_user.Email, my_displayname, my_user.IsActive);
~Switch login back to user
Hope this helps