コード例 #1
0
        private List <Site> GetSites(ISiteProvider provider, IEnumerable <CompoundIdentity> siteIds)
        {
            List <Site> sites = new List <Site>();
            Site        s     = null;

            foreach (CompoundIdentity id in siteIds)
            {
                s = provider.Get(id);
                if (s != null)
                {
                    sites.Add(s);
                }
            }
            return(sites);
        }
コード例 #2
0
ファイル: SiteProvider.cs プロジェクト: Epitomy/CMS
        public Models.Site Get(Models.Site dummy)
        {
            var cacheKey = GetCacheKey(dummy);
            var site     = (Site)dummy.ObjectCache().Get(cacheKey);

            if (site == null)
            {
                site = inner.Get(dummy);
                if (site == null)
                {
                    return(site);
                }
                dummy.ObjectCache().Add(cacheKey, site, CacheProviderFactory.DefaultCacheItemPolicy);
            }
            return(site);
        }
コード例 #3
0
ファイル: SiteProvider.cs プロジェクト: nguyenhuy2911/CMS
        public Models.Site Get(Models.Site dummy)
        {
            var cacheKey = GetCacheKey(dummy);
            var site     = (Site)dummy.ObjectCache().Get(cacheKey);

            if (site == null)
            {
                site = inner.Get(dummy);
                if (site == null)
                {
                    return(site);
                }
                dummy.ObjectCache().Add(cacheKey, site, Kooboo.CMS.Caching.ObjectCacheExtensions.DefaultCacheItemPolicy);
            }
            return(site);
        }
コード例 #4
0
        private SiteMappedContext PreviewMap(System.Web.HttpRequest httpRequest, string requestPath)
        {
            var paths    = requestPath.Split('/');
            var siteName = paths[0].Substring(SiteExtensions.PREFIX_FRONT_PREVIEW_URL.Count());

            var site = _siteProvider.Get(new Site(siteName));

            if (site != null)
            {
                var requestUrl = Kooboo.Common.Web.UrlUtility.Combine(new[] { "/" }.Concat(paths.Skip(1)).ToArray());
                if (httpRequest.Path.EndsWith("/") && !requestUrl.EndsWith("/"))
                {
                    requestUrl = requestUrl + "/";
                }
                var appRelativeCurrentExecutionFilePath = "~" + requestUrl;

                return(new SiteMappedContext(site, null, FrontRequestChannel.Preview, requestUrl, appRelativeCurrentExecutionFilePath));
            }

            return(null);
        }