Пример #1
0
 public static void FinishSession(UserContext userContext)
 {
     using (RecipientCacheTransaction recipientCacheTransaction = new RecipientCacheTransaction("OWA.AutocompleteCache", userContext))
     {
         AutoCompleteCache autoCompleteCache = AutoCompleteCache.TryGetCache(userContext);
         if (autoCompleteCache != null)
         {
             autoCompleteCache.FinishSession(new AutoCompleteCache(userContext, recipientCacheTransaction.Configuration), recipientCacheTransaction.Configuration);
         }
     }
 }
Пример #2
0
 public static AutoCompleteCache TryGetCache(UserContext userContext, bool useInMemCache)
 {
     try
     {
         return(AutoCompleteCache.GetCache(userContext, useInMemCache));
     }
     catch (Exception ex)
     {
         ExTraceGlobals.CoreCallTracer.TraceError <string, string>(0L, "Failed to get autocomplete cache from server. Error: {0}. Stack: {1}", ex.Message, ex.StackTrace);
     }
     return(null);
 }
Пример #3
0
 private static AutoCompleteCache GetCache(UserContext userContext, bool useInMemCache)
 {
     if (userContext.AutoCompleteCache == null || !useInMemCache)
     {
         using (RecipientCacheTransaction recipientCacheTransaction = new RecipientCacheTransaction("OWA.AutocompleteCache", userContext))
         {
             userContext.AutoCompleteCache = AutoCompleteCache.Load(userContext, recipientCacheTransaction.Configuration);
             if (!userContext.IsAutoCompleteSessionStarted)
             {
                 userContext.AutoCompleteCache.StartCacheSession();
                 userContext.IsAutoCompleteSessionStarted = true;
             }
         }
     }
     return(userContext.AutoCompleteCache);
 }
Пример #4
0
 public override void Commit(bool mergeBeforeCommit)
 {
     if (base.IsDirty)
     {
         using (RecipientCacheTransaction recipientCacheTransaction = new RecipientCacheTransaction("OWA.AutocompleteCache", base.UserContext))
         {
             AutoCompleteCache backEndRecipientCache = null;
             if (mergeBeforeCommit)
             {
                 backEndRecipientCache = new AutoCompleteCache(base.UserContext, recipientCacheTransaction.Configuration);
             }
             this.Commit(backEndRecipientCache, recipientCacheTransaction.Configuration);
         }
     }
     if (base.UserContext.RoomsCache != null && base.UserContext.RoomsCache.IsDirty)
     {
         base.UserContext.RoomsCache.Commit(true);
     }
 }
Пример #5
0
        public static void UpdateAutoCompleteCacheFromRecipientInfoList(RecipientInfoAC[] entries, UserContext userContext)
        {
            if (entries == null)
            {
                throw new ArgumentNullException("entries");
            }
            if (userContext == null)
            {
                throw new ArgumentNullException("userContext");
            }
            AutoCompleteCache autoCompleteCache = AutoCompleteCache.TryGetCache(userContext);

            if (autoCompleteCache != null)
            {
                for (int i = 0; i < entries.Length; i++)
                {
                    RecipientInfoCacheEntry recipientInfoCacheEntry = AutoCompleteCacheEntry.ParseClientEntry(entries[i]);
                    if (recipientInfoCacheEntry != null)
                    {
                        autoCompleteCache.AddEntry(recipientInfoCacheEntry);
                    }
                }
            }
        }
Пример #6
0
 public static AutoCompleteCache TryGetCache(UserContext userContext)
 {
     return(AutoCompleteCache.TryGetCache(userContext, true));
 }