public EmbeddedResourceEntityResponder(ICacheManager cacheManager, IMimeTyper mimeTyper, IHasher hasher, long maxFileSizeToServe, int bufferSize, MimeSettingProvider mimeSettingProvider, Assembly assembly, string resourcePath) { _assembly = assembly; _resourcePath = resourcePath; ResourcePath = string.Format("{0}.{1}", assembly.GetName().Name, resourcePath.Replace("/", ".")); ResourceExtension = Path.GetExtension(ResourcePath); var version = _assembly.GetName().Version; ResourceLastModified = new DateTime(2000, 1, 1) .AddDays(version.Build) .AddSeconds(version.Revision * 2) .ToUniversalTime(); using (var bodyStream = assembly.GetManifestResourceStream(ResourcePath)) { if (bodyStream != null) { ResourceSize = (int)bodyStream.Length; } } MimeSetting = mimeSettingProvider.GetSetting(ResourceExtension.ToLower()); BufferSize = bufferSize; MaxFileSizeToServe = maxFileSizeToServe; Hasher = hasher; MimeTyper = mimeTyper; CacheManager = cacheManager; }
public FileEntityResponder(ICacheManager cacheManager, IRetryableFileOpener retryableFileOpener, IMimeTyper mimeTyper, IHasher hasher, long maxFileSizeToServe, int bufferSize, MimeSettingProvider mimeSettingProvider, FileInfo fileInfo) { CacheManager = cacheManager; RetryableFileOpener = retryableFileOpener; MimeTyper = mimeTyper; Hasher = hasher; BufferSize = bufferSize; MaxFileSizeToServe = maxFileSizeToServe; FileInfo = fileInfo; MimeSetting = mimeSettingProvider.GetSetting(fileInfo); }