Exemple #1
0
 private static void InitializeIfNeeded()
 {
     if (!LocalServerCache.IsInitialized())
     {
         lock (LocalServerCache.locker)
         {
             if (!LocalServerCache.IsInitialized())
             {
                 LocalServerCache.timeout = DateTime.UtcNow + LocalServerCache.ExpirationTime;
                 try
                 {
                     LocalServerCache.ReadLocalServer();
                     LocalServerCache.SubscribeForNotifications();
                 }
                 catch (LocalizedException arg)
                 {
                     LocalServerCache.Tracer.TraceError <LocalizedException>(0L, "LocalServerCache: unable to initialize due exception: {0}", arg);
                 }
                 if (LocalServerCache.notification != null)
                 {
                     LocalServerCache.timeout = DateTime.MaxValue;
                 }
                 LocalServerCache.initialized = true;
             }
         }
     }
 }
Exemple #2
0
 private static void NotificationHandler(ADNotificationEventArgs args)
 {
     LocalServerCache.Tracer.TraceDebug(0L, "LocalServerCache: local server object changed");
     try
     {
         LocalServerCache.ReadLocalServer();
     }
     catch (LocalizedException arg)
     {
         LocalServerCache.Tracer.TraceError <LocalizedException>(0L, "LocalServerCache: failed to read local server object from AD due exception: {0}", arg);
         return;
     }
     if (LocalServerCache.Change != null)
     {
         LocalServerCache.Tracer.TraceDebug(0L, "LocalServerCache: notifying subscribers of change.");
         LocalServerCache.Change(LocalServerCache.localServer);
     }
 }
Exemple #3
0
 internal static void Initialize()
 {
     LocalServerCache.ReadLocalServer();
 }