>If MyDataDictionary Is Nothing Then > SyncLock LockDictionaryObject > If MyDataDictionary Is Nothing Then > If Not LoadDataDictionary() Then > Return False > End If > ' Do other stuff > End If > End SyncLock >End If >The LoadDataDictionary() is initiated from a hit to the Web site. But, that method, makes some calls to the oApp.Tables collection object to load the data dictionary into. So, that's why I figured out that I should apply a lock at the Web site level (the hit in progress, for the first one that gets into the app). Then, even if LoadDataDictonary() is executed some calls to oApp.Tables collection related loading issues, this shouldn't be a factor as the lock should be already in place.