Beispiel #1
0
        /// <summary>
        /// returns image resource
        /// </summary>
        /// <param name="filename"></param>
        /// <param name="imageFormat"></param>
        /// <returns></returns>
        private byte[] GetImage(string filename, ImageFormat imageFormat)
        {
            filename = filename.ToLowerInvariant();
            byte[] result;
            if (_imageCache.TryGetValue(filename, out result))
            {
                return(result);
            }

            result = _manifestResourceStreamService.GetManifestResourceImage(GetType(), _registration.GetScsRegistration(GetType()).ResourcesPath + "." + filename, imageFormat, () => throw new ScsEmbeddedResourceNotFoundException());

            _imageCache[filename] = result;
            return(result);
        }
        /// <summary>
        /// returns image resource
        /// </summary>
        /// <param name="filename"></param>
        /// <param name="imageFormat"></param>
        /// <returns></returns>
        private byte[] GetImage(string filename, ImageFormat imageFormat)
        {
            filename = filename.ToLowerInvariant();
            Sitecore.Context.SetActiveSite("scs");
            _imageCache.TryGetValue(GetType(), out var cache);
            if (cache != null && cache.TryGetValue(filename, out var result))
            {
                return(result);
            }

            result = _manifestResourceStreamService.GetManifestResourceImage(GetType(), _registration.GetScsRegistration(GetType()).ResourcesPath + "." + filename, imageFormat, () => throw new ScsEmbeddedResourceNotFoundException());
            if (!_imageCache.ContainsKey(GetType()))
            {
                _imageCache[GetType()] = new ConcurrentDictionary <string, byte[]>();
            }
            _imageCache[GetType()][filename] = result;
            return(result);
        }