Class for returning a different value every so often
I might be completely off with this, but I'll try to propose an alternative design for your problem.

It seems to me that you have two independent tasks in your application:


Fetching the data from the DB (user triggered?, frequent)
Updating the DB from the AD periodically (time consuming)


Define a flag in your application, say, UpdateInProgress. Update task would set it to true before running and reset it after it's done. Every Fetch request that comes while an update is in progress would be queued and executed after the update has completed.