/// <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); }