예제 #1
0
        public WebDavSqlStoreCollection GetCollection(IWebDavStoreCollection parentCollection, string path, String rootPath, Guid rootGuid)
        {
            var       p                  = PrincipleFactory.Instance.GetPrinciple(FromType.WebDav);
            string    userkey            = p.UserProfile.SecurityObjectId.ToString();
            CacheBase mc                 = GetCachedObject(path) as CacheBase;
            WebDavSqlStoreCollection itm = null;

            if (mc != null)
            {
                itm = mc.GetCachedObject(userkey) as WebDavSqlStoreCollection;
            }
            if (itm != null)
            {
                return(itm);
            }
            itm = new WebDavSqlStoreCollection(parentCollection, path, rootPath, rootGuid, Store);
            if (mc == null)
            {
                mc = new CacheBase();
                mc.AddCacheObject(userkey, itm);
                AddCacheObject(path, mc);
            }
            else
            {
                mc.AddCacheObject(userkey, itm);
            }
            return(itm);
        }